FEBRUARY 1987 VOL 5, NO. 2 $3-95
FOR THE IBM SYSTEMS PROFESSIONAL
inn'
HttliS
fOURNAL
_
£1*%mr m The Database
KVlKXS Manager
For the dealer nearest you or to order by phone call
(800)255-8008
BI- 1093 A in CA 18001 742-1133 in Canada (800) 237-1136
in eflex is the
Mm acclaimed,
high-performance
database manager
that's so advanced
it's easy to use!
Reflex: the high-
performance v state-
of-the-art database
manager
Whether you manage mailing
lists, customer files, or you are in
charge of your company's budgets,
Reflex is the database manager that
you've been waiting for. Reflex lets
you organize, analyze and report in¬
formation faster and easier than
ever before.
Reflex extends database man¬
agement with business graphics.
Because a picture is often worth a
1000 words, Reflex lets you extract
the critical information buried in
mountains of data. With Reflex,
when you look, you see.
Reflex: the critics' choice
... if you use a PC, you should
know about Reflex. Reflex and
Reflex Workshop may be the best
bargain in software today.
Jerry Pournelle, BYTE
Everyone agrees that Reflex is the
best-looking database they've
ever seen.
Adam B. Green, InfoWorld
The next generation of software
has officially arrived.
Peter Norton, PC Week 9 ’
$149.9 5 ’
only
For FinancelAccounting:
• Business Expense Tracking
• Petty Cash Tracking
• Line of Credit Tracking and Analysis
• Accounts Receivable Tracking and
Aging Analysis
• Purchase Order Entry and Analysis
• Purchase Order Tracking System
• Leasing Inventory/Management
• Asset Inventory Tracking
• Cash Management Trial Balance
• Commercial Real Estate Tracking
and Analysis
For Administration:
• Mail Lists
• Appointment Scheduling
• Applicant Tracking and Inquiry System
• Facilities Planning
• Project Scheduling
For Sales & Marketing:
• Sales Lead Tracking and Analysis
• Store Check Inventory Analysis
• Sales Analysis
• Trend Analysis
For Production & Operations:
• Manufacturing Quality Assurance Tracking
• Assembly Repair Turnaround Tracking
• Product Cost Analysis and Control
98 Reflex does the job. Workshop
shows you applications. The 400-page
book that comes with Workshop has
sections on creating accounting
systems; inventory control; business
expense reports; real estate manage¬
ment; production; operation and quality
control; and just a whole bunch of
other stuff.
Jerry Pournelle, BYTE 99
Reflex: don't use your
PC without it!
Join hundreds of thousands
of enthusiastic Reflex users and
experience the power and ease-
of-use of Borland's award¬
winning Reflex.
Reflex: The Workshop
adds 22 templates
to your business
repertoire
Only
$69.95!
You get 22 different ways to
run your business — instantly. The
formats are all there. All you do is
enter your own numbers. A superb
business tool.
System requirements
Reflex: The Database Manager IBM PC, AT, XT, or true
compatibles. PC-DOS (MS-DOS) 2.0 and later. IBM
CGA Hercules Monochrome Card, or equivalent. 384K
Reflex: The Workshop: Requires Reflex: The
Database Manager. 384K.
Turbo Prolog
Turbo Pascal
The power and high performance of
Turbo Pascal is already in the hands of
more than half-a-million people. The tech¬
nically superior Turbo Pascal is the de facto
worldwide standard and the clear leader.
The Turbo Pascal family includes:
■ Turbo Pascal • 3.0
■ Turbo Tutor • 2.0
■ Turbo Database Toolbox •
■ Turbo Editor Toolbox •
■ Turbo Graphix Toolbox •
■ Turbo GameWorks •
■ Turbo Pascal Numerical Methods
Toolbox "
JV;
ewf Turbo Pascal
Numerical Methods
Toolbox
Only
$99.95!
As well as a free demo FFT pro¬
gram i, you a/so get /.east Squares
Fit in 5 different forms:
1. Power
2. Exponential
3. Logarithm
4. 5-term Fourier
5. 5-term Polynomial
They're all ready to compile
and run.
All this for only 599 . 95 /
Turbo Pasca/, fbe worldwide standard in
high-speed compilers, and family.
What our new Numerical Methods
Toolbox will do for you now:
g| Find solutions
to equations
gj Interpolations
gj Calculus: numerical derivatives
and integrals
gj Differential equations
gj Matrix operations: inversions,
determinants and eigenvalues
gj /.east squares approximations
gj Fourier transforms
System requirements
IBM PC, XT, AT or true compatibles. PC-
DOS (MS-DOS) 2.0 or later. Turbo Pascal
2.0 or later. Graphics module requires
graphics monitor with IBM CGA IBM
EGA or Hercules compatible adapter
card, and requires Turbo Graphix
Toolbox. 8087 or 80287 numeric co¬
processor not required, but recom¬
mended for optimal performance. 256K.
Turbo Pascal 3.0.
Includes 8087 & BCD features for 16-bit
MS-DOS and CP/M-86 systems. CP/M-80
version minimum memory. 48Kj 8087
and BCD features not available. 128K.
££ If you're at all interested in
artificial intelligence, databases, expert
systems, or new ways of thinking about
programming, by all means plunk down
your $ 100 and buy a copy of Turbo
Prolog. Bruce Webster, BYTE 9 9
Only
$99.
Turbo Prolog, the natural language
of Artificial Intelligence, is the most
popular Al package in the world with more
than 100,000 users. It's the 5th-generation
computer programming language that
brings supercomputer power to your IBM
PC and compatibles. You can join the Al
revolution with Turbo Prolog for only
$99.95. Step-by-step tutorials, demo
programs and source code included.
WTew! Turbo Prolog
1" Toolbox
Our new Turbo Prolog Toolbox "
enhances Turbo Prolog—with more
than 80 tools and over 8,000 lines of
source code that can easily be
incorporated into your programs. It
includes about 40 example programs
that show you how to
use and incorporate your
new tools.
New Turbo Prolog
Toolbox features include:
Business graphic generation
Complete communications package
File transfers from Reflex, dBASE III,
1-2-3, Symphony
A unique parser generator
Sophisticated user-interface design
tools
It's the complete developer's
toolbox and a major addition to
Turbo Prolog. You get a wide variety
of menus—pull-down, pop-up, line,
tree and box—so you can choose the
one that suits your application best.
You'll quickly and easily learn how to
produce graphics; set up communica¬
tions with remote devices; read
information from Reflex * dBASE III*
Lotus 1-2-3 • and Symphony* files;
generate parsers and design user
interfaces. All of this for only $99.95.
Only
$99.95!
System requirements
Turbo Prolog: IBM PC, XT, AT or true compatibles. PC-DOS (MS-
DOS) 2.0 or later. 384K. Turbo Prolog Toolbox requires Turbo
Prolog 1.10 or higher. Dual-floppy disk drive or hard disk. 512K.
£ £ The language deal of the century.
Jeff Duntemann, PC Magazine 9 9
BI-1093
^ Eureka:
The Solver'
M nyone and
/I everyone who
routinely works with
equations needs
Eureka: The Solver
It solves the most com¬
plex equations in seconds.
Whether you're a scientist,
engineer, financial analyst,
student, teacher, or some
other professional, you
need Eureka: The Solver!
Any problem that can be
expressed as a linear or non-linear
equation can be solved with Eureka.
Algebra, Trigonometry and Calculus
problems are a snap.
Eureka: The Solver also handles
maximization and minimization
problems, does plot functions,
generates reports, and saves you
an incredible amount of time.
X+exp(X) = 10
solved instantly instead
of eventually!
Imagine you have to "solve
for X," where X + exp(X) = 10, and
you don't have Eureka: The Solver.
What you do have is a problem,
because it’s going to take a lot of
time guessing at "X." Maybe your
guesses get closer and closer to the
right answer, but it's also getting
closer and closer to midnight and
you're doing it the hard way.
With Eureka: The Solver, there's
no guessing, no dancing in the dark—
you get the right answer, right
now. (PS: X = 2.0705799, and
Eureka solved that one in .4
of a second!)
System requirements
IBM PC, AT, XT, Portable, 3270 or true compatibles.
PC-DOS (MS-DOS) 2.0 and later. 384K.
How to use Eureka:
The Solver
It's easy.
1. Enter your equation into
the full-screen editor
2. Select the "Solve” command
3. Look at the answer
4. You're done
You can then tell Eureka to
■ Evaluate your solution
■ Plot a graph
■ Generate a report , then send the
output to your printer, disk file
or screen
■ Or all of the above
Eureka: The Solver includes
■ A full-screen editor
■ Pull-down menus
■ Context-sensitive Help
■ On-screen calculator
■ Automatic 8087 math
co-processor chip support
■ Powerful financial functions
■ Built-in and user-defined math
and financial functions
■ Ability to generate reports
complete with plots and lists
■ Polynomial finder
■ Inequality solutions
Some of Eureka's
key features
You can key in:
■ A formula or formulas
■ A series of equations—and solve
for all variables
■ Constraints (like X has to be
< or = 2)
■ A function to plot
■ Unit conversions
■ Maximization and minimization
problems
■ Interest Rate/Present Value
calculations
■ Variables we call "What
happens?" like "What happens
if I change this variable to 21
and that variable to 27?"
All this power for only
$99.95!
Equation-solving used to be a
mainframe problem, but we’ve
solved that problem.
Eureka: The Solver is all you
need—and it's yours for only
$99.95!
That kind of savings you can
calculate with your fingers!
•Introductory price—good through July 1, 1987
For the dealer nearest you or to order by phone call
(800)255-8008
in CA (800) 742-1133 in Canada (800) 237-1136
Only
66 I like 'em all[ but Lightning's the one
that's going to change how a lot of us
use computers . . . simply the finest
spelling checker and electronic thesaurus
program extant"
Jim Seymour, MicroBusiness y y
T urbo Lightning adds instant spell¬
checking and a thesaurus to all
your spreadsheets, electronic mail,
documents, memos, or whatever
programs you use.
Everything you type looks
professional because Turbo Lightning
checks your spelling as you type, while
you run other programs. Turbo
Lightning beeps every time there's
a misspelled word, which you can
correct instantly.
Need synonyms? Turbo Lightning's
on-line thesaurus instantly offers you
the right ones. It's that easy.
Minimum memory: 256K. Two disk drives required.
Hard disk recommended.***
***IBM PC, XT, AT, PCjr, and true compatibles only.
PC/MS-DOS 2.0 or later.
‘Suggested list price as of February 15, 1987
“If within 60 days of purchase you find that these products do not perform in accordance with our claims, call our customer service department
and we will arrange a refund. All prices are suggested list prices and are subject to change without notice.
All Borland products are trademarks or registered trademarks of Borland International, Inc. or Borland!Analytics, Inc. IBM, AT, PCjr and XT are
registered trademarks of International Business Machines Corp. dBASE III is a registered trademark of Ashton-Tate. Lotus 1-2-3 and Symphony
are registered trademarks of Lotus Development Corp. Hercules is a trademark of Hercules Computer Technology Crosstalk is a registered
trademark of Microstuf, Inc. WordStar is a registered trademark of MicroPro International Corp MS-DOS is a registered trademark of Microsoft
Corp. Macintosh is a trademark of McIntosh Laboratory, Inc. and is licensed to Apple Computer. Copyright 1986 Borland International. BI-1093A
4585 SCOTTS VALLEY DRIVE
SCOTTS VALLEY, CA 95066
(408)438-8400 TELEX: 172373
S uper Key cuts down keystrokes
because SuperKey's simple macros
turn "Dear Customer: Thank you for
your inquiry. We are pleased to let
you know that shipment will be made
within 24 hours. Sincerely/' into the
one keystroke of your choice. Like
magic! SuperKey's macros are elec¬
tronic shortcuts to success.
SuperKey keeps your
secrets
Borland Software
Programming Languages:
Business Productivity:
Artificial Intelligence:
Scientific & Engineering:
Available for the Mac:
60-DAY MONEY-
BACK GUARANTEE**
For the dealer nearest
you, or to order by phone
call (800) 255-8008
CA (800) 742-1133
Canada (800) 237-1136
BORLAND
INTERNA T I 0 N A L
66 . it's the most elegant program I've
seen in many a moon."
Stephen Manes, PC Magazine 5 5
Turbo
WMT'thout encryption, your files are
WW open secrets. Anyone can read
them. SuperKey encrypts your files and
keeps confidential files confidential.
Only your secret password reveals
what yOU've written. Minimum memory: 128K.***
Lightning *:
The Spell-Checker
and Thesaurus
SideKick:
The Desktop
Organizer
Only
$99.95!*
O ne million users can't be wrong.
SideKick, the first name in desktop
organizers, offers a notepad, a calcu¬
lator, a calendar, and a host of other
tools in a window on your screen. In
the middle of programs like 1 -2-3,
WordStar/ or Crosstalk ® you have
instant access to a complete set of
desk tools. Minimum memory: 128K.***
6 6 If you use a PC, get SideKick.
Jerry PourneUe, BYTE 5 J
SuperKey:
The Productivity
Booster
SuperKey eliminates
repetition
Btrieve.
The Programmer's Choice.
W hen you're serious about application
development, there's just one choice for file
management: Btrieve. With what Computer Language calls
"near mainframe functionality 1 ", Btrieve sets the file
management standard for PC applications. With Btrieve
loaded in your PC, your programs can use simple
subroutine calls to retrieve, store and update records.
B-tree
based for high
performance. Performance
is all-important, especially as
your database grows. That's
why Btrieve implements the
■b-tree file structure—the
fastest, most efficient method
of accessing data.
Interfaces to C, BASIC, Pascal,
COBOL. Don't waste time
programming in awkward fourth generation
languages! With Btrieve, simply use the languages
you know best—and write applications the right
way. Over 15 language
interfaces available.
Multi-user versions for
LANs and Xenix. When your
applications need to network, count on
Btrieve. A single version runs on all DOS 3
LANs, including IBM PC Network and Novell Advanced
Netware. Btrieve is also available for Xenix and
multitasking operating systems such as MultiLink
Advanced, Microsoft Windows and IBM Topview.
Built-in security
features. Lock up sensitive
data with Btrieve's password protection and
unique data encryption scheme—especially
useful in local area networks.
Help is
just a phone
call away.
Need technical
support? You've got it!
Btrieve users receive 30 days
of unlimited phone support at no charge. This
"Direct Connect" policy is renewable for a full
year at low cost. And try SoftCraft's free
bulletin board for technical tips, seven days a week.
Fault tolerant. Btrieve
insures against database dis¬
asters. Two levels of fault
tolerance guarantee data
integrity during accidents or
power failures—even if
lightning strikes. No extra
programming required.
Thorough documentation, easy implementation. Getting
started with Btrieve is easy: the manual is packed with examples of
every Btrieve function in BASIC, Pascal, COBOL and C.
Database queries, report writing. Add Xtrieve ™ to your Btrieve
applications for a fully-relational DBMS. Xtrieve's menu-driven
interface gives your users the on-line query capabilities they
need—without programming. Add
our report writer option to produce -
custom reports and forms.
Xtrieve
No royalties.
Need we say more?
Btrieve
SoftCraft
P.O. Box 9802 #917 Austin, Texas 78766 (512) 346-8380 Telex 358 200
Suggested retail prices: Btrieve, $245; multi-user Btrieve, $595; Xtrieve, $245; multi-user Xtrieve,
$595 (for report generation, add $145 for single-user and $345 for multi-user). Available from SoftCraft
and selected distributors. Requires PC-DOS or MS-DOS 2.X, 3.X, Xenix. Btrieve is a registered
trademark and Xtrieve is a trademark of SoftCraft Inc. 1 From Computer Language, November 1985.
CIRCLE NO. 201 ON READER SERVICE CARD
FEBRUARY 1987
VOLUME 5, NUMBER 2
Speed Infusion
UPWARD TO THE 80386 / CALDWELL CROSSWY and MIKE PEREZ
The Intel Corporation’s powerful 32-bit 80386 microprocessor brings minicomputer function and performance to the PC while
still maintaining compatibility with software that was developed for its predecessors, the 8086/88 and 80286.
50
WINDOWS OF OPPORTUNITY / PAUL GRAYSON
Microsoft Windows promises to free users and developers from device dependencies and provide a compatibility bridge to future
products. A close look at the Development Kit and a sample application leads to a better understanding of Windows. 70
Compatibility and Performance: PC’S LIMITED 286 12 / STEVEN ARMBRUST and TED FORGERON
A system offering 12-megahertz performance may present a good value for the price, but the PC’s Limited model that was .
reviewed was found to have significant reliability problems and did not live up to its good-looking package or advance billing. y 4
DESKTOP DATA ACQUISITION / VICTOR E. WRIGHT
ASYSTANT+ from Macmillan Software converts the IBM PC into a desktop data acquisition and analysis system. In the laboratory ^
or in industry, it can take the place of more expensive, dedicated instruments—albeit at a loss in ultimate performance. 1UO
SPEED INFUSION / TED MIRECKI
The simplest type of accelerator board runs the PC at a higher clock speed while retaining the 8088, but the performance
improvement is far from spectacular. In the first of a series on accelerators, six of these class I boards are reviewed.
126
TOKEN-KING NETWORK, PACT 2 / J. SCOTT HAUGDAHL
Because more and more PC users are considering local area networks, the demand for standards and benchmarks to measure
LAN performance will quickly mushroom. Guidelines are presented for selecting a suitable LAN environment. 1 JO
EXECUTION PROFILERS FOR THE PC, PART 2 / RALPH G. BRICKNER
Five commercial software profilers are examined for their ability to identify those parts of a program that are the most time ^ ^
consuming. The products reviewed are from Atron, David Smith, dwb Associates, Phoenix Technologies, and Stony Brook. 1 v)0
9 DIRECTIONS
45 TECH NOTEBOOK
179 PRODUCT WATCH
195 TECH MARKETPLACE
Far Afield with
Conditional-jump
Vector87
Windows
Macros
ADIC Model TD 440
High-C
204 MAIL ORDER
17 LETTERS
173 PROGRAMMING
187 EXPERT CONSULTANT:
216 CALENDAR
PRACTICES
HUMAN FACTORS
32 TECH RELEASES
Creating Sound with
the Timer
Three Misconceptions
217 READER SERVICE CARD
193 BOOK REVIEW
Database Practicum
Cover photograph • Walter Larrimore/Blakeslee-Lane
Software Tools
For Programmers & Non-Programmers
Get ‘State of the Art’ performance
and save valuable time with these
high quality utilities!
Opt-Tech Sort™
Opt-Tech Sort is a high performance Sort/Merge/Select
utility. It can read, sort and write a file faster than most
programs can even read the data. Example: 1,000
records of 80 bytes can be read, sorted and a new file
written in less than 10 seconds (IBM XT). Opt-Tech Sort
can be used as a stand-alone program or called as a
subroutine to over 25 different programming languages.
All the sorting, record selection and reformatting facilities
you need are included. A partial list of features includes:
The ability to process files of any size. Numerous
filetypes are supported including Sequential, Random,
Delimited, Btrieve, dBASE II & III and many others. Up
to 10 key fields can be specified (ascending or descend¬
ing order). Over 16 different types of data supported.
Powerful record selection capability allows you to specify
which records are to be included on your output. Record
reformatting allows you to change the structure of your
output record and to output special fields such as record
numbers for use as indexes.
MS-DOS $149. ★ NEW ★ Xenix $249.
VERSION On-Line Help™ vS
On-Line Help allows you to easily add “Help Windows”
to all your programs. On-Line Help is actually two help
packages in one. You get BOTH Resident (pop-up) and
Callable Help Systems.
The resident version allows you to add help to any
system. Your Help System is activated when the “Hot
Keys” that you specify are pressed. You can then chain
between help windows in any manner you desire.
The callable version allows you to easily display help
windows from your programs. A simple call to the help
system makes the window appear. The original screen
is automatically restored when the help window is
cleared. On-Line Help is callable from over 20 different
languages.
You have full control over the help window content, size,
color and location.
MS-DOS $149. Demo $10. (apply toward purchase).
Scroll & Recall™
Scroll & Recall is a resident screen and keyboard
enhancement. It allows you to conveniently scroll back
through data that has gone off the top of your display
screen. Up to 27 screens of data can be recalled or writ¬
ten to a disk file (great for documenting systems opera¬
tions). Also allows you to easily recall and edit your
previously entered DOS commands without retyping.
Scroll & Recall is very easy to use. It’s a resident utility
that’s always there when you need it. MS-DOS $69.
Visa, M/C, AMEX, Check, Money Order, COD
or Purchase Orders accepted.
To order or to receive additional information just call
and receive immediate highly qualified attention!
Opt-Tech Data Processing
P.O. Box 678 — Zephyr Cove, NV 89448
_ (702) 588-3737 _ /
OURNAL.
VOL. 5, NO. 2
PUBLISHER: Newton Barrett
EDITOR: Will Fastie _
EDITORIAL
MANAGING EDITOR: Marjory Spraycar
EXECUTIVE EDITOR: Julie Anderson
SENIOR TECHNICAL EDITOR: Jim Shields
TECHNICAL EDITORS: Caroline Halliday, David Methvin
CHIEF COPY EDITOR: Susan Holly
COPY EDITOR: Gail Shaffer
PROOFREADERS: Bruce Ansley, Elizabeth Wardlaw
NEW PRODUCTS EDITOR: Carole Autenzio
OFFICE MANAGER: Trish Ledbetter
EDITORIAL SECRETARY: Valerie Rose
RECEPTIONIST: Cecilia R. Titus
CONTRIBUTING EDITORS: Steven Armbrust, Dave Browning, Michael
Covington, Richard M. Foard, Ted Forgeron, Angie Hansen, Thomas V.
Hoffmann, Henry F. Ledgard, Ted Mirecki, Max Stul Oppenheimer,
Richard Schwartz, Robert Shostak _
ART & PRODUCTION
ART DIRECTOR: Paula Jaworski
ASSOCIATE ART DIRECTOR: Sharon Reuter
ART ASSISTANT: Maria Sese
PRODUCTION MANAGER: Alison Regan Mrohs
CONTRIBUTING ARTISTS: Maciek Albrecht, David Povilaitis
ADVERTISING SALES
ADVERTISING DIRECTOR: Rita Burke
ADVERTISING MANAGER/WEST COAST: Phyllis Egan
MARKETING DIRECTOR: Gayl Sorota
ASSISTANT TO THE PUBLISHER: Kathleen Abbott
ADVERTISING COORDINATOR: Mary Martin
MARKETING COORDINATOR: Kimberly Schroeder
SALES SECRETARY: JeanMarie Donlin
DISTRICT MANAGERS: Rosemarie Caruso—New England; Arlene
Braithwaite — Southeast; Pat Toohey — Mid-Mlantic, Bill Barney — Midwest;
Bill Bush, Phyllis Egan, Nan Hanna—West Coast
ACCOUNT REPRESENTATIVES: Polly White—New England/Southeast;
Nanette Vilushis — Mid-Atlantic/Midwest; Carey Clarke—West Coast;
John Blake—National Accounts, Mail Order; Classified advertising
director—Kathryn Cumberlander
CIRCULATION
CIRCULATION MANAGER: Charles Mast
CIRCULATION SALES DEVELOPMENT: Daniel Rosensweig
MEDIA MANAGER: Melinda Kendall
RETAIL SALES MANAGER: Carol Benedetto _
ZIFF-DAVIS PUBLISHING COMPANY, a division of Ziff Communications Co.
PRESIDENT: Kenneth H. Koppel
SENIOR VICE PRESIDENT, Marketing: Paul Chook
VICE PRESIDENT, Operations: Baird Davis
VICE PRESIDENT, Controller: John Vlachos
VICE PRESIDENT, Creative Services: Herbert Stem
VICE PRESIDENT, Circulation: Adicia Marie Ivans
VICE PRESIDENT, Circulation Services: James Ramaley
VICE PRESIDENT, Marketing Services: Ann Poliak Adelman
VICE PRESIDENT, Development: Seth Alpert
VICE PRESIDENT: Hugh Tietjen
BUSINESS MANAGER: Gary A Gustafson
PRODUCTION DIRECTOR: Walter J. Terlecki _
ZIFF COMMUNICATIONS COMPANY
CHAIRMAN: Philip B. Korsant, PRESIDENT: Kenneth H. Koppel; SENIOR VICE PRESIDENT:
Philip Sine; VICE PRESIDENTS: Laurence Usdin, William L. Phillips, J. Malcolm Morris,
Steven C. Feinman; TREASURER: Selwyn I. Taubman, SECRETARY: Bertram A Abrams
EDITORIAL OFFICE
PC Tech Journal, Suite 800, 10480 Little Patuxent Parkway, Columbia, MD
21044. 301/740-8300. FAX (group 3): 301/740-8809. MCIMail: PCTECH.
PCTECHline: 301/740-8383- Telex: 6502565932 MCI._
ADVERTISING OFFICES
(East Coast/Midwest) Suite 800, 10480 Little Patuxent Parkway, Columbia, MD
21044. 301/740-8300. (New England) 90 Everett Street, Arlington, MA 02174.
617/868-4611. (Mid-Atlantic) 266 Lighthouse Road, New Haven, CT 06512. 203/
469-2313. (West Coast) 3460 Wilshire Blvd., Los Angeles, CA 90010. 213/387-
2100; 11 Davis Drive, Belmont, CA 94002. 415/598-2290.
SUBSCRIPTION INQUIRIES
PC Tech Journal, P.O. Box 2968, Boulder, CO 80321. Subscription service: 800/525-0643,
303/447-9330. Back issues: send $7/copy ($8 outside U.S.) to Ziff-Davis Publishing, One Park
Avenue, 4th floor, New York, NY 10016. _
PC Tech Journal (ISSN 0738-0194) is published by Ziff-Davis Publishing Co., a division of
Ziff Communications Co., One Park Ave., New York, NY 10016. Published monthly except
semi-monthly in December. Subscription rate is $34.97 for one year (13 issues). Additional
postage for Canada and Foreign is $6.50. Second-class postage paid at New York, NY, and at
additional mailing offices. POSTMASTER: Send address changes to PC Tech Journal, P.O.
Box 2968, Boulder, CO 80321._
PC TECH JOURNAL is an independent journal, not affiliated in any way with International
Business Machines Corporation. IBM is a registered trademark of International Business
Machines Corp. Entire contents Copyright ® 1987 Ziff-Davis Publishing Company, a division
of Ziff Communications Company. All rights reserved; reproduction in whole or in pan
without permission is prohibited. Direct written requests to Jean Lamensdorf, Licensing
Manager, Reprints/Rights & Permissions, One Park Avenue, New York, NY 10016.
A 1985 AWARD FOR
J|gL BEST COMPUTER MAGAZINE
&|||^Computer Press Association
4
CIRCLE NO. 222 ON READER SERVICE CARD
PC TECH JOURNAL
The Periscope Difference
You’ll need it sooner or later
if you’re doing serious software development
W ' hen you’re writing large and/or complex pro¬
grams, it’s inevitable that you’ll have to deal
with some tough debugging problems. Your debugger
should help you find and solve those problems quick¬
ly. The more solid, dependable, and efficient your
debugger is, the better able it is to help you out in
those difficult situations. The big difference between
Periscope™ and other debuggers is this: Periscope
enables you to debug programs other debuggers can’t
handle AND to debug in situations in which other
debuggers won’t work!
“We have been buying Periscope for about two years now ;
and have always been more than satisfied with the hard-
ware, the software, and the responsiveness of the company.
We have used Periscope in a great many difficult situations ,
where our only other alternative was a very expensive ICE
(in circuit emulator). Periscope has performed most
admirably” writes Dr. William Ash, Technical Director,
FEL Computing.
T he Periscope Promise.
Continued product
enhancement and user
support.
P eriscope Quality.
The reason for
Product of the Month.
“Periscope was chosen as the January (1986) Product of
the Month because it represents what we felt was an ex¬
cellent balance between power and cost and it has an ex¬
traordinarily clean and innovative design.. .the overall
aura of quality was too strong to ignore ” writes Jeff
Duntemann, Technical Editor, PC Tech Journal, 7/86.
n
e Periscope Solution.
A full line of debugging
products that keep
getting better.
“I have used Periscope daily for the past few months for
testing and debugging my assembly code and I am still con¬
vinced this is the finest hardware or software debugger
available at any price,” writes long-time Periscope user
Wynn Bailey.
“Not only is your Periscope (Model I) software the greatest
thing since K&R, but your support has won over even the
heart of this hardened programmer,” writes Periscope user
Mark Kumler of US Maintenance. “I had decided long ago
that no one in the industry cared about their customers
after the check was cashed. You have definitely changed
my opinion on that subject!”
• User ideas are often implemented
• Your first software update is free; later up¬
dates are just $20
• You get free technical support and advice
• You can trade up for $10 plus the difference
in price
• You get a 30-Day, Money-Back Guarantee
To Order or Receive Free
Information, Call Toll-Free:
There’s a model of Periscope to meet your needs and
budget. The enhanced Version 3.0 gives you more
value than ever before! Call for details.
Periscope I has break-out switch & board
with 56K of protected RAM.$345.
Periscope II has break-out switch.$175.
Periscope II-X (software-only model).$145.
Periscope III has break-out switch & board
with hardware breakpoints, a real-time
trace buffer, and 64K of protected RAM.. .CALL.
The
PERISCOPE
Company, Inc.
14 Bonnie Lane, Atlanta, GA 30328 404-256-3860
ffl 800/722-7006 S
CIRCLE NO. 215 ON READER SERVICE CARD
C COMPILER
SUBSTANTIATED.
SUPREMACY
It's a bold claim. A claim
we're prepared to stake our
reputation on. And at
Computer Innovations, we've
always taken our reputation
very seriously.
It's no industry secret that
the competitive C Compilers
are at the end of their
optimization cycle — they're
just about as good as they
are going to get. C86PLUS
begins where everybody else
has left off. It's an entirely
new technology based on
artificial intelligence and
advanced compiler design
techniques. Designed with the
serious programmer in mind,
C86PLUS provides the ultimate
development environment,
matching unparalleled
execution speed with a host
of productivity features.
FAST EXECUTION
• 20% faster than Microsoft C,
version 4.0
• 70% faster than existing C86,
version 2.3
(timings based on the
classic sieve benchmark)
ANSI C COMPILER
FEATURES
• Register variables
• Structure assignment
• Function prototypes
• New type modifiers
-near
-far
-signed
-const
-volatile
• Long double 80 bit floating¬
point
• Enumerator data types
(enums)
• Extended preprocessor
capabilities
CIRCLE NO. 144 ON READER SERVICE CARD
FULL CONTROL OVER
COMPILATION
ENVIRONMENT
• Small, Medium, and Large
memory models
• 8086/80186 and 80286 code
generation options
• In-line 8087/80287 floating
point
• 8087/80287 auto detect
emulator
• Source level debugger support
• Wild-card compilation
• Make utility
• ROMable code
• Linkable with macro
assembler output
• Intel-standard OMF object files
• Optional assembly language
output
• Warning level control
EXTENSIVE FUNCTION
LIBRARIES FOR
INCREASED PRODUCTIVITY
• Over 250 library functions
• Full ANSI C library
• Functional equivalents to most
UNIX System V libraries
• Shared file and network
support
• Low-level machine access
functions
• IBM ROM BIOS support
routines
• Fully compiled small, medium
and large model libraries
• C library source code
• Run-time start-up source code
• Source code librarian
• Object code librarian
COMP U IE R l N \ O V A ! i O N $
COMPUTER
INNOVATIONS
MICROSOFT
COMPATIBILITY
If you're a current Microsoft
user, we invite you to consider
this simple point. C86PLUS
will recompile most applications
developed using MS-C with¬
out changes to your source
code. You'll find that your
application runs much faster.
PROVEN EXPERIENCE
In 1981, Computer Innovations
and its founder, George
Eberhardt, revolutionized the
DOS programming world with
the introduction of the first C
Compiler for the PC called C86.
Today, C86 boasts a satisfied
and loyal user base of over
20,000 programmers worldwide.
C86PLUS represents an
extension of this expertise and
reputation. It's backed with
more than a decade of
intensive research and develop¬
ment.
PROVEN SUPPORT
Making the claim that
C86PLUS is supreme is one
thing, standing behind it is
another. Computer Innovations
has always offered timely and in¬
telligent technical support,
and this is an important
customer service which we do
not intend to change.
CALL TO ORDER
The call is on us. For more
information or to order call:
800-922-0169
or 201-542-5920 (in Nj)
980 Shrewsbury Ave.
Tinton Falls, NJ 07724, USA
Telex: 705127 COMP INNOV UD
C86 PLUS is a trademark of Computer Innovations, Inc.
Microsoft is a registered trademark of Microsoft Corporation
UNIX is a registered trademark of AT&T Bell Laboratories IBM
is a registered trademark of International Business Machines
Corporation
©1986 Computer Innovations. Inc.
WHAT'S THE SECRET DEBUGGING WEAPON
USED BY EVERYBODY FROM BORLAND TO ORACLE?
FREE 44-PAGE
“WE COULDN’T HAVE DONE IT WITHOUT
ATRON’S HARDWARE-ASSISTED
SOFTWARE BUGBUSTERS.”
3 COM ADP AMP ARC/AMS AST
Research AT&T Accent Software Access
Technology Accufiber Accurex Active
Voice Activision Actrix Advance Tech¬
nology Advance Telecomputer Systems
Advanced Digital Aetna Akron Standard
Allen Bradley Alloy Computer Products
Philippe Kahn
Borland Pres.
Larry Ellison
Oracle Pres.
Alphatype Alsys Alternative Technologies Amber Systems American
Airlines American Computer Products Boeing Bunker Ramo Bain Com¬
pany Ballistech Boston Bankers Trust Banyan Systems Barber Coleman
Baron Beatrice U.S.Foods Beckman Instruments Bell Communications
Bell Northern Research Bentley Systems Berkeley Graphics Berman
Technologies Biocom Bizcomp Blaise Computing Boeing Aerospace
Boeing Computer Systems Borland international Bolder Software Group
Br a g Systems Bridge Communications Bridge Systems Bubble Soft Bunker Ramo Calma GDI Centec
Gteber CNA Insurance CPF CRT Group CText Cubicomp CiiSiinet Software CXI Cableshare Cadtrak
California Computer Products California Network Systems Campbell Soup Company Canadian Pacific
Railway Candella Candle Capstone Technology Carnegie Mellon Cellular Systems Centec Chevron
Ciba Corning Cintel Cipher Data Circadian Citibank Citicorp Coherent Colortran Comarco Compaq
Ccmipusync Compucom Compugraphic Computer Aided Management Computer Library Rawer Com¬
puter Research Computer Sciences Computer Technology Cotntetm Converse Technology Concentric
Systems Concept Technologies Concurrent Sciences Consolidated Controls Consol id
cessing Control 3e an m
Lit C ft Cybenek Cyborg C y hot ec h Cvnex Data
G« Durability Oat rah Digital Equipment Deha Computer Digital Specialties
Dfcl/McGraw Hill DRS L>n
Re ■. 1 ' ■
D« r.j
Di
Dt
El*
Ex
Sy
G.
c
: i m\ :
at;
*.:ct Vm
D
)n
1C
is I
•m
tai
rtgy Materials Er
>n
•rl
IE
Gi
muntcai
turns Gulf
tit
unter ar
1 I
ad v H
ammer
Cotnpi:
iter
System
s Lanier i
Harvard
Software Ha'
es
M
rocom
put?!
Hewlei
rt-Packard l
lo
ieyw
ell Hugh
s/
rCraft
jmai
ni
:e II
JM IDE
Associate
sIKOSS
ystems Infom
ia-
tic
Resot
JTCes
Intert©
it Irwin Ms
n
T C
x«uner 11
no
Bush*
ull
; \ m
comp 1
ncom Ind
ex Techn
ology lndusti
al
M
>Soft
Infbrmatech Inton
/St
ms 1
Informati
s I
format!
ior
t Bui
ler
ostrf
t Interc
om Inteer
ated Computer Solutit
ns
In
Ihgen?
r Onr
ics Inret
rac Interact
ill
ctive 1m;
;es
t\\
r Re;
ire
itera
ctive Training Sy
stems Inr
erdyne Interfi
ce
Sp
> Inte
relation
a ] Treasury
, I
uen
>hase int
rte
t fame]
<a
Irvii
T
Cor
npanv 1
solation S
ystetns jo
ihnson Contr
ils
Ja>
in Soi
Irwan
e KByte
Kaiser Key
K.
ywoi
rd Office
ec
es
Kim
an
ila T
bchm>l.
jgy Krone
s Kurrwei
il Computer 1
SI
La
erLe;
ir Sve
gler Let
r$t>n Electri
?tc
n G
iel
rt Linp
[U2
iTec
In
iatio
nal Lin
kware Liv
ing Vi dec
> Text Lockht
id
Lc
aputt
•t Logici
raft Log it ec 3
£U
an
Lotus 1
De
lei
ynx
Robot k
;s M&M1
Enterprise
;s MDS Quan
:el
M
itor G
raphi
cs Meta
war? Mica
Ml
T M
iagnesys
la*
letk Be
r\
^her
X
stre^
im Dan
^ Manage*
nent Soli
«ions Manui
*c-
tu
r$ Hanover
Trust 1
Clare Sofru
:ri
,tS :
iformat
en
:r Software Build
lets Ma>T
tard Electron
cs
M
joxmv
:k &
Dodge 1
McDonnell
s 1
a (
jrbemei
tic
s Mt
tdc
va Men
tor Graph
ics Mend
lan instrume
its
M
hnok
>ey Met
aparh Meti
m
it Systeti
K
tropoli
ItA
M
Me
thods IS
dicro Rim
MicroPf
ionics Microl
ro
M
roSoft
Micro Way
Mtux of*
n*l .at
i M
icrocomj
; .Iter
Cono
ts W
TO,
putt
k r Solu
rions Mic
rodynamics Micmgru.
sis
Micrometries Immune
nr Miles L
aboratofy Mm*
iscape K
ism?
Systems
Mic
...bisiv, l
:lectn«ncs
Molecular
Design Monchik-Wd
;*er
Mon m; m Mukimare Mukitech NCR Comren N*aeiius Nahonai Advanced Systems
N. tsi n. ;il ns
Nsrval Air Development Center Nelson Analytical Neried Syttera m ag
Systems New Business Systems New York Times New York University Nexus In fo rm a t io n System;. Nielsen Consulting Norland
Northwest Instrument System North w estern Mutual I die Insurance Newell Newllvs Numerix OEMTEK Orion Research ( Ibjective
System Gee Watics Computes Center Ofticetech Oilgear Company Olivetti OlsOn Research Ass es
Omnicad Omuig On-Line Software Systems Oprisoft Opus Syste ms Oracle Orchid Technology Owens Conun Xl&E
Pacific Beil PC Support PCad Fbhftmn nocessSymems Pacific Ma nag eme nt Pansopha- Systems Passkey Pathway Design fear Marwick
& Mitchell Pegasus Software Penultimate Fferkin Elmer Persoft IVrsonal Computer Products (ktit Logic Systems Phamis Phoenix
Software Associates Phone 1 Photon Phyrix lntemation.il PiCoSoft Pick Systems Pitney Bowes Phatnok Systems Polaroid Polygen
Polygon Software Polytel (bsttch Priam pritnavera Systems Prime Computer Princeton University Printer Systems Pro-Log Project
Software Prolan Promis Information System Protocol Computer Puritan Bennett Quadram Quintar Quotum Systems RCA Reuters
Rfical Yadic Ramada Inns Raytei Raytheon Company Reflectone Relational Technology Reliability Center Rochester Instrument
Systems Rockwell International Rohm & Haas Rolm RoseSoft SA$ Institute Sensory Servio Logic N-Dex Labs Singer Kearlott Smith
Data Processing Softpro Space Labs Spefry Step Engineering Summa Four Sandia National Lab Santa Clara Systems Scanning
Management Schlage Electronics Sentry Systems Shaffstall Shell Development Shell Oil Siemens Sierra On-Line Simplex Time
Recorder Singular Solutions Small Computer Small Library Computing Soffbndge Micro Systems Softcom Softlogic Solutions
Sqftpro Softrak Systems Software Arts Software Construction Software Decisions Software Group Software Publishing Software
This is the city saved by the
Atron bugbusters. Your city.
Full of wizards, with hundreds
of millions of dollars invested
in wringing every ounce of
intelligence and performance
out of your PC. It used to be
plagued with the toughest
software bugs known to man¬
kind.
PLAGUES OF
BIBLICAL PROPORTIONS
The first and most difficult
plague was impossible to trap
with software debuggers.
These were carnivorous bugs
which randomly overwrote
programs, data, even the
debugger. Nastiest were the
ones that slipped in once every
few hours, or changed their
behavior after each new com¬
pile. Forty days and forty
nights of recompiling, trying
something else , caused many
a would-be resident of the city
to run screaming into the wil¬
derness, never to be heard
from again.
Second came the plague of
not knowing where the pro¬
gram was, or where it had
recently been. This com¬
pounded the first plague: How
could anyone know what
caused the random memory
overwrites? Add to this ran¬
dom interrupts and timing
dependencies, and you begin
to understand The Fear that
gripped the city.
Then came the last plague,
which brought the wizards to
their knees before they even
started debugging. Their tow¬
ering programs consumed so
much memory, there wasn’t enough room for their symbol table, let alone
debugging software. Even if they could get past the first two plagues, this
one killed their firstborn software.
ENTER THE HARDWARE-ASSISTED SOFTWARE BUGBUSTERS
The Atron solution came as a revelation: Monitor every memory
reference and every instruction executed, by adding a hardware board to
the AT or PC with an umbilical probe to the processor.
The result? Wham! The PC PROBE™ and the AT PROBE™ saved
civilization as we know it. The first plague was cured with PROBE’S
hardware-assisted breakpoint traps on reading, writing, executing, input¬
ting and outputting. These could be done on single or ranges of addresses,
and could include particular data values. All in real time. For a mere
software debugger to attempt this, a 1-minute program would take 5 hours
to execute.
The second plague, not knowing from whence you came, was cured
with PROBE’S real-time trace memory. The history of program execution
is saved on-board, in real time. Once a hardware trap has occurred,
ANSWER FROM ATRON.
PROBE displays the program execution in detail, including sym¬
bols and source code for C, Pascal, or assembly language pro¬
grams. Which shows how out-of-range pointers got that way.
The third plague, not enough room for the
debugging symbol table to be co-resident in
memory with a large program, was cured with
1-megabyte of on-board, hidden, write-pro¬
tected memory. System memory was then free
for the program, keeping the symbol table and
debugger safe from destruction.
When the job of bugbusting
was done, the wizards used
their PROBEs as performance
analyzers. So they could have
both reliability and perfor¬
mance. So they could send
only the best software into the
field.
ta
I CS
Diagnostic Retrieval Dialogic Dicomed Dictaphone
3i| ay
E< 'ts
ics ns
Ba ta
Ft et
os er
Space I ...
Micro Systems Symantec Synamitcal ^
Labs Sperry Spruce Technology J
Specialist Solution Technology Sony of America Sava Computing LTD i
Systems Studio Software Summa Four Suitimitt Software Technology Sun f_ .,_,_,_
Software Synex Sysgen Systems for Automatic Test Sytek Tahdy TBL TCl_Telesis TJ Controls Trane TRW Tand|
Computers Tari Group Tersus Sofj
Tfclerate Systems Telesis Televi*'
Timeline Timeplex Technical
Systems Transnet Telecommumc
Laboratories Tymshare Ultra Sy:
Airlines Vermont Micro Systems
Votan W. R. Grace Wang Labs '
Westinghouse Weyerhaeuser W
xcgmP --— "
IF YOU AREN’T AN ATRON
CUSTOMER, ODDS ARE YOU
WON’T BE MAKING
THE TOP-TEN LIST.
On any given week, at least
nine of the top ten best-selling
software packages on the Soft-
Sel Hotlist come from Atron
customers.
Ever heard of Borland?
“Without Atron,” says its
president Philippe Kahn,
“there wouldn’t be a Side-
Kick™, Turbo Lightning™
would be light-years away, and
Turbo Prolog™ wouldn’t be
shipping today.”
Ever use a spreadsheet?
From Enable™ to Paradox™,
their bugs were busted by
Atron products.
Into DBMSs? Everyone
from Ashton-Tate to Oracle
owns at least one Atron bug-
buster.
If you use a product from
one of the companies in The
City , you owe life as you know
it to Atron. Our guess is that
99% of all PCs, XTs and ATs
have at least one product
debugged with Atron bug¬
busters.
FREE 44-PAGE BUGBUSTING BIBLE COULD MAKE YOU
A PROPHET, AND YOUR COMPANY A PROFIT.
We’ve written a complete tutorial on state-of-the-art bugbusting.
And it’s yours, free for the asking. Full of examples and illustra¬
tions, it will show you how the wizards work their magic.
If you’re tired of suffering the wrath of program bugs, call Atron
today. You could be busting bugs, and sales records, tomorrow.
I Structure
Synergistic
I. Tandem
I Teledyne
I Tiketron
Eane Transec
Jstems Tsend,
fland United
He Voice Prints
totem Digital
THE BUGBUSTERS
20665 Fourth Street • Saratoga, CA 95070 • 408/741-5900
Copyright © 1986 by Atron Corp. PC PROBE™ and AT PROBE™ Atron. The other fine companies mentioned throughout this advertisement own numerous trademarks.
Adv. by TRBA.
CIRCLE NO. 203 ON READER SERVICE CARD
DIRECTIONS
WILL FASTIE
Far Afield with Windows
In which our intrepid editor allows software
developers to vent their spleen.
I t should come as no surprise that PC
Tech Journal is deeply interested in
Microsoft Windows. I should qualify this
comment: not everyone on the staff is
as interested as I, and there is consider¬
able debate on the subject internally. I
suppose no debate would be warranted
were the subject uninteresting or,
worse, were no other alternatives, such
as GEM or DesqView, possible. In fact,
the emergence of the 80386 and the
probable availability of a protected-
mode operating system for the 80286
has motivated a rash of companies to
work on operating environments, some
of which could prove interesting.
One reason for following Windows
is its creator. As far as operating systems
and environments go, Microsoft today is
the single company of greatest in¬
fluence. It has the resources to pursue a
product until it takes hold in the market
and the opportunity to influence the
underlying operating system’s design to
the benefit of the user environment.
The company suffers only from technol¬
ogy lagging behind its vision.
Having previously spoken kindly of
the product, I may seem two-faced
when I say that Windows does not cut
the mustard. Although I do believe in
the potential of the concept, the current
implementation of Windows is unattrac¬
tive for a variety of reasons, some of
which Microsoft can quickly fix and
some of which require technology to
come to the rescue.
A fixable example is the user inter¬
face, which is pretty good for the nov¬
ice but less than compelling for the ex¬
pert. It is especially cumbersome for
software developers, who for many pro¬
cedures resort to the more complete
DOS command line interface. Microsoft
needs to get as many experts and devel¬
opers as possible interested in the
product if it expects a substantial base
of software to be written. Improvements
to usability, extensions to attract expert
users, and a superior software develop¬
ment methodology should be a high
priority at Microsoft; I am somewhat
concerned that the company is not as
aware as it should be of the current
state of human factors research.
Another area of difficulty is per¬
formance. Windows needs lots of pro¬
cessor and memory. Even with a better,
faster processor, like the 80286 or
80386, Windows gets bogged down try¬
ing to keep multiple applications avail¬
able in the DOS 3.x-constrained 640KB
of main memory. Here, Windows must
be rescued by technology, possibly
Microsoft’s own. The product needs
hardware-supported memory manage¬
ment and better support for multitask¬
ing; in short, it needs a new operating
system that embodies the concepts
present in most minicomputer environ¬
ments. It will also benefit from the new
generation of microprocessor-based
graphics cards soon to hit the market.
Even if Windows is improved in
these areas, it still must deliver a critical
mass of applications to the user com¬
munity. This may be Windows’ greatest
failing: few programs have been written
to exploit the environment, and those
that have are not completely compel¬
ling. One other performance problem
with Windows may be to blame: it han¬
dles text very slowly, especially with
nonsystem fonts.
What really worries me is that I do
not see a rush of developers working
on Windows applications. Why?
WINDOWS PAINS
For the last several months, I have con¬
ducted an informal and unscientific sur¬
vey (in other words, I talked to them
whenever I could) among developers of
products designed to operate in the
Windows environment. I have been es¬
pecially interested in those developers
who either already had products for the
Apple Macintosh or were developing
for both the Mac and Windows. The
purpose of the conversations was to de¬
termine the degree of difficulty of soft¬
ware development in both environ¬
ments as a way of better understanding
Windows in particular. A second pur¬
pose was to determine developer satis¬
faction with each environment.
Generally speaking, most develop¬
ers agree that software development in
either environment is more difficult
than writing a program for execution
under DOS, or even a more sophisti¬
cated system such as VMS, UNIX, or
AOS/VS. The worst part, they also agree,
is the learning curve. That first applica¬
tion will take as much as twice as long
to develop; subsequent programs bene¬
fit from the learning curve but still re¬
quire additional resources.
FEBRUARY 1987
9
ILLUSTRATION • MACIEK ALBRECHT
DIRECTIONS
Windows gets soundly rapped for
that long learning curve. Most develop¬
ers blame the very poor state of the
documentation. One vendor rates Apple
documentation for the Mac 9.5 out of
10, while awarding Windows a paltry 3.
Detractors claim that Windows’ docu¬
ments are incomplete, full of errors,
and badly organized. No complaints
were registered about the Mac books.
Developers converting from the
Mac find that several important facilities,
supplied as part of the Mac environ¬
ment, are not present in Windows. One
example, easily observed by the end
user, is Windows’ lack of a standard file
selection dialog box methodology. This
oversight is evident even in Microsoft’s
own utilities, which use different file
selection techniques from program to
program; if the feature had been part of
Windows, Microsoft’s developers would
have used it. Other areas mentioned in¬
clude text editing (having the environ¬
ment do editing as part of text input),
scrollable lists (such as those in the file
selection boxes), and drag gray region
(moving an object on the screen).
One developer complains that with
the Mac, the hardware is a known quan¬
tity while with Windows, it is unknown.
Of course, hardware independence is
supposed to be a strength of Windows;
this developer clearly longed to exploit
the hardware and is frustrated by the
lack of direct control within Windows.
It is also clear that the information Win¬
dows can provide to the application
about the attached hardware is probably
too limited for most developers’ tastes.
Hardware independence provokes
another complaint. Although Windows
is touted as WYSIWYG (what you see is
what you get), the developer has to
work quite hard to make this happen.
Mac developers claim to have it by de¬
fault; Windows developers say that what
you see on the screen may not come
out that way on the printer until the ap¬
plication is properly tuned, and finding
the tuning knobs apparently is not easy.
Again, this seems to be a case of captive
hardware on the Mac versus the open
hardware of the PC.
Curiously, only one developer
touted the advantage of hardware inde¬
pendence from a time and resource
point of view. A strength of Windows
should be that it prevents the software
developer from having to develop
drivers to cope with the hundreds of
possible display and hard-copy options.
However, most developers do not re¬
port any time savings to date. This may
be due to the number of drivers cur¬
rently available and the fact that the de¬
sign specification for the driver inter¬
face has not stabilized.
Finally, there is almost universal
objection to the style and quality of
Microsoft technical support, and equally
universal praise for Apple. The major
problem seems to be that Microsoft is
slow to turn around the answers and,
because it isolates the development
staff, often loses information as the
problem is first translated to the Micro¬
soft development team and back again
to the questioner. According to Mac de¬
velopers, The Macintosh support pro¬
gram allows direct contact with Apple’s
internal development staff and thereby
generates quick, accurate information.
I asked Microsoft to respond to
some of these support criticisms. A
spokesman pointed out the company’s
primary sources of support. The first,
the Microsoft Windows Development
Seminar, is presented periodically
around the country. The price varies
from $430-650, depending on location,
and includes a copy of the Windows
Development Tool Kit. Microsoft also
offers two 5-day courses at its headquar¬
ters in Redmond, Washington: an intro¬
ductory course for $450 and an ad¬
vanced course for $550.
Another source is DIAL, an on-line
support service. PC Tech Journal has
not had an opportunity to evaluate the
service since it was restructured; for¬
merly, we considered it far too expen¬
sive. DIAL is apparently under revision
again, and we do not yet know its final
form or cost. I am surprised that on¬
line, passive service is not free, to en¬
courage the development of the appli¬
cations Windows desperately needs.
A common theme rings through all
these objections. An environment such
as Windows is desirable because of its
philosophical foundations, such as hard¬
ware independence, its virtual graphics
interface, and its user interface. Support
for Windows is growing, albeit more
slowly than Microsoft might like. From
the complaints noted here, that growth
is anything but painless. Immmmffil
ERRATUM
My December editorial (‘The RT Mys¬
tery”) contained two errors. At the top
of the second column on page 12, the
numbers 240 and 224 should have
been 2 40 and 2 24 . We regret the error.
UNDERSTANDING PERFORMANCE
This month’s issue of PC Tech Journal
has a lot to do with performance. Our
cover story, an overview of the archi¬
tecture of the Intel 80386 processor
(p. 50), leads into what will become
ongoing coverage of the newest desk¬
top performance champ; we will fol¬
low next month with a comprehensive
review of the Compaq Deskpro 386.
At the same time, this issue includes
the first of several articles examining
accelerator products for PCs and ATs
(p. 126).
The market is flooded with such
products, from faster clocks to add-in
80386 boards, that improve the per¬
formance of the PC. These products
are often attractive because the next
performance increment, in the form
of a complete system, can be very ex¬
pensive. Building a better machine in
stages can mitigate these costs.
The process of choosing from the
long list of possibilities is much more
difficult than adding memory or serial
ports, and much more frightening. Ac¬
celerator products do not just extend
the existing system, they fundamental¬
ly alter it. How the “new” system will
work is something that the careful
analyst must understand well in ad¬
vance. The tendency is to think purely
in terms of raw CPU power, but other
factors influence performance as well.
Graphics performance, I/O (bus)
bandwidth, disk speed, and floating¬
point operation can each profoundly
affect the bottom-line performance of
the application. Worse, combinations
of these factors are the more usual
case, making the task of optimizing a
system configuration for a particular
task very difficult if the machine is put
to general-purpose work.
PC Tech Journal is presenting the
examination of accelerator products
because we believe they offer viable
opportunities for the millions of 8088-
based computers. Our conclusions
about the products are conservative;
as is our custom, we are providing as
much information as we can, but we
rely on the common sense of our
readership when it comes to making
product decisions. We urge you to
analyze your environment carefully
and then choose and recommend the
options that most closely address your
and your client’s requirements.
—WF
10
PC TECH JOURNAL
H
C Programmers!
dbj/l5lA M : high-speed Database
written exclusively for C
NOW offers SQL-based Query
‘db_VISTA™has proved to be an all-round high performer in terms of fast execution..
John Adelus, Hewlett-Packard Ltd./Office Productivity Division
I igh-speed data retrieval and access...
just two benefits of using RAIMA’S network
model DBMS, db__VISTA. Combine these
benefits with those of C—speed,
portability, efficiency, and you begin to
understand db_VISTA’s real measure...
performance.
db_QUEmT: new simplicity
retains performance!
db__QUERY, our new C-linkable, SQL-
based, ad-hoc query and report writing
facility.. .provides a simple, relational view
of db_VISTA’s complex network database.
No longer will you give up performance for
simplicity ... combine db__QUERY with
db_VISTA ... you have both!
Independent Benchmark proves
High-Speed model 2.76 times faster
An independent developer bench-
marked db_VISTA against a leading
competitor. Eleven key retrieval tests were
executed with sequentially and randomly
created key files.
♦Result of 11 Key Retrieval Tests
db__VISTA :671.24 seconds
Leading Competitor : 1,856.43 seconds
db__V ISTA’s high-speed network database
model lets you precisely define relation¬
ships to minimize redundant data. Only
those functions necessary for operation are
incorporated into the run-time program.
Application Portability
Complete Source Code
For maximum application portability,
every line of db_VISTA’s code is written in
C and complete source code is available.
db__VISTA operates on most popular
computers and operating systems. So
whether you write applications for micros,
minis, or mainframes.. .db_VISTA is for
you.
How db__ VISTA works...
Design your database and compile your
schema file with the database definition
language processor. Develop application
programs, making calls to db_VISTA’s C
functions. Edit and review your database
using the Interactive Database Access
utility. Compile and link your C program
with the db__VISTA run-time library, and
your application is ready to run.
Multi-user and LAN capability
Information often needs to be shared.
db__VISTA has multi-user capability and
supports simultaneous users in either
multi-tasking or local area networking
environments, allowing the same C appli¬
cations to run under UNIX, MS-DOS, and
VAX VMS.
rn Raima
1 C OR PORATION
High-Speed Programming Tbols,
Designed for Portability
Royalty-Free Run-Time
Whether you’re developing applications
for a few customers, or for thousands, the
price of db_VISTA cr db__QUERY is the
same. If you are currently paying royalties
for a competitor’s database, consider
switching to db_VISTA and say goodbye to
royalties.
FREE Technical Support
For 60 days
Raima’s software includes free telephone
support and software updates for 60 days.
Technical support personnel are available
to answer questions about our software or
yours.
30-Day Money-Back Guarantee
Tty d b_VISTA for 30 days and if not fully
satisfied, return it for a full refund.
Price Schedule
db_VISTA
db_
.QUERY
□ Single-user
$ 195
$
195
□ Single-user w/Source
$ 495
$
495
□ Multi-user
$ 495
$
495
□ Multi-user w/Source
$ 990
$
990
NEW:
□ VAX Multi-user
$ 990
$
990
□ VAX Multi-user w/Source
$1980
$1980
Call Toll-Free Today!
1 (800) db-RAIMA
(that’s 1-800-327-2462)
—OR Call 1-206-828-4636
Read what others say...
“If you are looking for a sophisticated C
programmer’s database, db_VISTA is it. It
lets you easily build complex databases
with many interconnected record types.
Raima’s customer support and documen¬
tation is excellent. Source code availability
and a royalty-free run-time is a big plus.’’
Dave Schmitt, President
Lattice, Inc.
“My team has developed a sophisticated
PC-based electronic mail application for
resale to HP customers. db_VISTA has
proved to be an all-round high performer
in terms of fast execution, flexibility and
portability, and has undoubtedly saved us
much time and development effort!’
John Adelus, Hewlett-Packard Ltd.
Office Productivity Division
“On the whole, I have found db_VISTA
easy to use, very fast with a key find, and
powerful enough for any DBMS use I can
imagine on a microcomputer!’
Michael Wilson, Computer Language
db_VISTA Version 2.2
Database Record and File Sizes
♦ Maximum record length limited only
by accessible RAM
♦ Maximum records per file is 16,777,215
♦ No limit on number of records or set
types
♦ Maximum file size limited only by
available disk storage
♦ Maximum of255 index and data files
Keys and Sets
♦ Key length maximum 246 bytes
♦ No limit on maximum number of key
fields per record—any or all fields
may be keys with the option of
making each key unique or duplicate
♦ No limit on maximum number of
fields per record, sets per database, or
sort fields per set
♦ No limit on maximum number of
member record types per set
Operating System
& Compiler Support
♦ Operating systems: MS-DOS, PC-
DOS, UNIX, XENIX, SCO XENIX,
UNOS, ULTRIX, VMS
♦ C compilers: Lattice, Microsoft, IBM,
DeSmet, Aztec, Computer Innova¬
tions, XENIX and UNIX
Features
♦ Multi-user support allows flexibility
to run on local area networks
♦ File structure is based on the B-tree
indexing method and the network
database model
♦ Run-time size, variable—will run in
as little as 64K, recommended RAM
size is 256K
♦ Transaction processing assures
multi-user database consistency
♦ File locking support provides read
and write locks on shared databases
♦ SQL-based db_QUERY is linkable
♦ File transfer utilities included for
ASCII, dBASE optional
♦ Royalty-free run-time distribution.
♦ Source code available.
Utilities
♦ Database definition language processor
♦ Interactive database access utility
♦ Database consistency check utility
♦ Database initialization utility
♦ Multi-user file locks clear utility
♦ Key file build utility
♦ Data field alignment check utility
♦ Database dictionary print utility
♦ Key file dump utility
♦ ASCII file import and export utility
•The benchmark procedure was adapted from
"Benchmarking Database Systems: A Systematic
Approach” by Bitton, DeWitt and Turbyfill,
December 1983.
Call Toll-Free Today!
1 (800) db-RAIMA
(that’s 1-800-327-2462)
3055-112th Avenue N.E. • Bellevue, WA 98004 USA • (200) 828-4636 Telex: 6503018237 MCI UW
CIRCLE NO. 166 ON READER SERVICE CARD
2PCT87
PANASONIC FX-800
80286 8MHz • 1.2 MB Floppy
30 MB Hard Disk • 512K RAM
Monitor and
Graphics Card
$2199
PANASONIC FX-600
8086 7.14 MHz • One 360K Floppy
20 MB Hard Disk • 640K
Monitor and
Graphics Card
$1375
TOSHIBA
TIIOO plus
2 720KB Drives
8 hr. Battery • 640K
CALL
Software
Computer Innovations
C-86
279
Introducing C
99
Aldebaran Labs
C to dBase
129
Source Print
109
Cl Probe
189
Alpha Computer
Cl ROMPac
139
ACS Time Series
399
CompuView
For-Winds
75
Vedit
112
Forlib-Plus
52
Vedit Plus
174
Scientific Subroutine Pkg.
254
Creative Programming
Strings & Things
52
Vitamin C
134
Arlty
VC Screen Forms Designer
83
Expert System Dev. Pkg.
269
Custom Sftw Systems
File Interchange Toolkit
45
PC/VI
125
Prolog Compiler/Interpreter
729
DataLight
Prolog Interpreter
319
C Compiler
47
Screen Design Toolkit
45
Developer Kit
77
SQL Development Package
269
Data Base Decisions
Standard Prolog
78
Periscope 1
244
Combo Package
1099
Periscope II w/NIM Breakout
108
Blaise
Periscope ll-X
81
Asynch Manager-C
131
Data Management Cons.
Asynch Manager-Pascal
131
ZView
195
C Tools
98
David Smith
C Tools 2
78
Codesifter
95
C Tools Plus
134
DeskTop Al
EXEC Program Chainer
74
dBx dBase-C Translator
319
Pascal Tools
98
dBx dBase/C Translator (XENIX) CALL
Pascal Tools 2
78
DeSmet
Pascal Tools & Tools 2
134
DeSmet C w/debugger
139
Runoff Text Formatter
44
DeSmet C w/debugger & Lg Case
189
Turbo Asynch Plus
81
Digitalk
Turbo Power Tools Plus
81
Methods
67
View Manager-C
195
Smalltalk/Comm
43
View Manager-Pascal
195
Smalltalk/V
85
Borland
DWB
Reflex
97
The PROFILER
91
Reflex Workshop
47
EcoSoft
Reflex & Reflex Workshop
149
Eco-C
84
Turbo Database Toolbox
47
Essential Software
Turbo Editor Toolbox
47
C Essentials
82
Turbo Gameworks Toolbox
47
C Utility Library
135
Turbo Graphix Toolbox
47
Essential Graphics
189
Word Wizard
47
Fifth Generation
Turbo Lightning
65
FastBack
139
Turbo Pascal w/8087 & BCD
65
Gimpel
Turbo Prolog
64
PC Lint
104
Turbo Tutor for Pascal
27
Green leaf
Word Wizard & Turbo Lightning
98
Greenleaf Functions
132
C Source
Greenleaf Comm Library
132
Basic C Library
127
Greenleaf Data Windows
184
Catspaw
GSS
SNOBOL4 +
81
Graphics Development Toolkit
369
Command Technology
Kernel System (DOS)
369
SPF/PC
162
Kernel System (IBM RT)
639
Metafile Interpreter
229
Logimouse w/PLUS & CAD
159
Plotting System
374
Modula-2/86 Compiler.
63
Solutions Chart
235
Modula 2/86 w/8087
99
Solutions Plottalk
235
Modula2/86 PLUS
144
Solutions Terminal
235
Modula 2 Library Sources
84
Impulse Engineering
Modula 2 Make Utility
26
Fortran Addenda
86
Modula 2 ROM Package
177
Fortran Addendum
144
Modula 2 RunTime Debugger
57
IMSI
Turbo-Modula Translator
43
TurboHalo
81
Modula 2 Utilities Pack.
43
Laboratory Micro
Modula 2 Windows Pack.
43
PC/Forth
114
Lugaru
PC/Forth Plus
204
Epsilon
157
Adv. Color Graphics Support
75
Mansfield Software
Enhanced Graphics Support
154
KEDIT
104
8087 Support
75
Personal REXX
104
Interactive Symbolic Debugger
75
Mark Williams
Native Code Optimizer
154
Mark Williams MWC-86
287
PCTERM
75
Let’s C
57
Software Floating Point
Lattice
75
Let’s C w/csd Source Debugger
MDS
105
C Compiler
289
HELP/Control
104
C Compiler w/Library S.C.
544
Media Cybernetics
C XREF Generator
38
Multi-Halo
215
C XREF Generator w/S.C.
147
MetaGraphics
C-Food Smorgasbord
97
MetaWindows
135
C-Food Smorgasbord w/S.C.
187
MetaWindows Plus
195
C-Sprite
135
TurboWindows
65
Curses Screen Mgr.
93
MGIobal
Curses Screen Mgr. w/S.C.
181
CCS MUMPS Single User
52
dBC
186
CCS MUMPS Multi-User
369
dBC w/Source Code
369
MicroFocus
LMK Make Facility
144
Cobol Workbench
3399
RPGII Combo
899
Level II Cobol
CALL
RPGII Compiler-No Royalty
631
COGraphics
215
Secret Disk
92
COMath
165
SideTalk
92
Forms-2
265
Text Management Utilities
92
Level II Animator
CALL
TopView Tool basket
186
Level II Sourcewriter
CALL
TopView Toolbasket w/S.C.
375
Level II Cobol for Novell
1759
Z-80 C Cross Compiler
375
Micro/SPF
155
Z-80 C X-Compiler w/S.C.
744
Professional Cobol
2355
The Librarian
Pro. Cobol Multi-user RunTime
439
GrafLib
CALL
MicroHelp
PlotHi
CALL
Peeks n Pokes
38
PlotHP
CALL
Inside Track
52
LifeBoat
MACH 2
62
Run/C
87
Stay-Res
79
Run/C Professional
167
Microsoft
LMI
QuickBasic2.0
65
CFORTH
235
Basic Interpreter (XENIX)
215
Logitech 7
C Compiler
282
Logimouse C7
84
Cobol Compiler
435
Logimouse C7 w/PLUS
99
Cobol Compiler (XENIX)
619
Logimouse C7 w/PLUS & Paint
139
Cobol Tools
199
FREE
BLUE LABEL SHIPPING*
<5Vv^
Ik.
MICROSOFT,
TOSHIBA 3100
80286 • Gas Plasma Screen
10MB H.D. • 640K
720KB Drive
CALL
MACH 10..
Performance Enhancement Board
with Windows
and Mouse-
$375
Cobol Tools (XENIX)
Fortran Compiler
Fortran Compiler (XENIX)
LISP
Macro Assembler
Bus Mouse
Serial Mouse
Sort
muMath & muSimp
Pascal Compiler
Pascal Compiler (XENIX)
Tech. Ref. Encylopedia
Windows
Windows Development Kit
Morgan Computing
Advance Trace 86
OES Systems
The Hammer
Opt-Tech Data
On-Line Help
Peerless
Scientific Subroutine Library
50 MORE: Fortran
Phar Lap
386 Debug
Phoenix
Pasm86 Macro Assembler
Pdisk Hard Disk Utility
Pfantasy Pac
Pfinish Performance Anal.
Pfix-86 Program Debugger
Pfix-86 + Symbolic Debug
PforCe C Library
Plink-86 Overaly Linker
P!ink-86+ Enhanced Linker
Pmaker Make Utility
Pmate Macro Text Editor
Pre-C Lint Utility
Ptel Binary File Transfer
Polytron
PolyBoost
C Beautifier
C Library I
Power Comm.
PolyLibrarian
PolyLibrarian II
PolyMake
PolyXREF-Complete
PolyXREF-One Language
PolyOverlay
PVCS Version Control Sys.
PVMFM Virtual Mem Mgr.
R & R Software
Janus/ADA C Pack
Janus/ADA D Pack
Raima
dbQuery
dbVista single-user
dbVista single-user w/S.C.
dbVista multi-user
dbVista multi-user w/S.C.
dbVista 1-user w/S.C. (XENIX)
dbVista multi-user (XENIX)
dbVista multi-user w/SC (XENIX)
RDS
C-ISAM
Informix (DOS)
lnformix4GL(DOS)
InformixSQL(DOS)
Informix (XENIX)
lnformix4GL (XENIX)
InformixSQL (XENIX)
Relia
Cobol
Roundhill Computer
Panel
Ryan-McFarland
RM/Cobol (XENIX)
RM/Fortran (XENIX)
RM/Cobol
RM/Cobol 8X ANSI 85
RM/Fortran
Santa Cruz Operation
Complete XENIX System
XENIX Development System
XENIX Operating System
XENIX Test Processing Package
Lyrix
Networks for XENIX
SCO Professional
Scientific Endeavors
GraphC Mono
GraphC Color
VTEK
Shaw American Tech.
APT
Soft Advances
DSD86
DSD87
Softcraft
Btrieve ISAM Manager
Xtrieve Query Utility
Rtrieve Report Generator
Btrieve/N Networks
Xtrieve/N Networks
Rtrieve/N Networks
Software Bottling
Flash-Up Windows
Screen Sculptor
124
172
115
135
96
135
129
129
859
235
138
235
235
244
319
79
119
159
115
65
43
73
134
74
110
74
175
105
74
319
144
85
779
CIRCLE NO. 147 ON READER SERVICE CARD
CALL
155
424
424
839
419
419
839
196
669
829
669
829
1259
829
829
225
975
589
615
875
379
1049
519
519
149
479
519
685
215
289
125
335
62
85
189
162
119
459
289
149
65
92
Software Channels
ALICE 67
Software Garden
Dan Brinklin’s Demo Program 58
Solution Systems
Brief CALL
Sfpruce Technology
FirsTime for Turbo 58
StonyBrook
The WATCHER Profiler 52
STSC
APL PLUS/PC 439
APL PLUS/PC Spreadsheet 149
APL PLUS/PC Tools Vol. 1 229
APL PLUS/PC Tools Vol. 2 59
APL PLUS/UNX (XENIX) 695
Financial/Stat. Library 194
Pocker APL 75
StatGraphics 589
Summit Software
BetterBasic 139
BetterBasic 8087 Support 74
BetterBasic Btrieve Interface 74
BetterBasic C Interface CALL
BetterBasic RunTime Module 219
Sunny Hill
TurboProfessional 45
TaskView 57
Toshiba
3.5” Drive Kit 139
True Basic
True Basic w/Converter 105
True Basic w/Converter/RunTime 189
Advanced String Library 42
Asynch Communication Support 42
BasicA Converter 42
Btrieve Interface 42
Developer’s Toolkit 42
Formlib 42
Hercules Graphics Support 42
Sorting & Searching 42
RunTime Module 99
TurboPower Software
T-Debug 52
Turbo EXTENDER 65
TurboPower Utilities 79
Visual Age
Codesmith-86 105
Wend in
Operating System Toolbox 77
PCNX Operating System 77
PCVMS 77
XTC Text Editor with Source 77
Wizard Systems
C Compiler 354
Orders only:
In California:
Customer service:
(415) 322-0686
Send mail orders to:
Code Blue
508 Waverly Avenue
Palo Alto, CA 94301
Terms & Policies
1. 20-day money back guarantee
on most products. Merchan¬
dise must be returned in
resalable condition. Call
for details.
2. Shipping info: On orders
over $100, we ship free UPS
2nd day air. On orders under
$100, shipping is $5. Ship¬
ping on computers is extra.
3. Prices subject to change
without notice.
4. Delivery subject to product
availability.
5. P.O.’s accepted from qualified
institutions.
6. After 20 days, products can
only be returned for repair or
replacement. On products
not covered by the money
back guarantee, they can
only be returned for repair
or replacement.
7. VISA and MasterCard
accepted. COD available at
an additional cost.
*On all orders over $100
to destinations east of the
Rocky Mountains.
NOW INTRODUCING VIRTUAL MEMORY SUPPORT
BetterBASIC with the optional Virtual Memory Manager can now
address 400,000,000,000 bytes of memory!
BetterBASIC Application Development System $199.00
The BetterBASIC Application Development System provides very close compatibility with PC-BASICA
and GW-BAS1C, yet provides numerous new and sophisticated language features such as: program
Block Structures, recursive Procedures and Functions with local variables, structures, Records and
Pointers and last but not least support of large memory.
Btrieve™ Interface
i Virtual Memory Manager $99.00
The Virtual Memory Manager expands Better-
BASIC’s data space into the giga-byte range and
finally breaks the 640k byte barrier for array sizes. Not only
can you directly address all expanded memory supported
by L1M/EMS memory boards, you can also address any
RAM Disk, Hard Disk or even a Floppy Disk as if they were
ordinary RAM.
$99.00
This is a high level BetterBASIC interface to the
ever popular Btrieve™ file manager from Soft-
Craft. Instead of Assembly language calls this module
provides high level BetterBASIC program access to all
Btrieve™ functions. Use it to design your own database
application in BetterBASIC.
Virtual Memory Manager-
Network Version
$250.00
This version of the Virtual Memory Manager allows
Virtual Memory to be distributed throughout a Local Area
Network. It also provides File, Records and Field Locking
to control access to shared data.
8087/80287 Math Module $99.00
This module allows you to use the 8087 or 80287
co-processor to significantly accelerate programs
which are floating point calculation intensive.
Decimal Math Module
$99.00
C-Link $99.00
1 ^^—| This software package allows BetterBASIC to
HBI access C-language library functions from within
BetterBASIC. Currently supported are Lattice and
Microsoft C.
i If you are a business programmer, you are
probably frustrated by the many roundoff
problems caused by ordinary IEEE format floating point
numerical operations. The BetterBASIC Decimal Math
Module which offers variable precision from 6 to 24 digits,
drastically reduces roundoff problems in business
applications.
1 Screen Design System $199.00
This package truly takes the drudgery out of
creating display screens and data entry screens.
An interactive Screen Editor lets you “paint” your display
screens exactly as you want them to appear in your pro¬
gram. The completed screens take the form of disk resident
images. A run time library module provides many new
BetterBASIC procedures and functions for interacting with
the display screens to simplify the use of pop-up menus
and data entry screens.
BetterTools™ $99.00
| This is a collection of more than 150 useful
extensions to BetterBASIC such as time and date
computations, encryption and decryption, low level file
directory access, hyperbolic function and much more. No
BetterBASIC programmer should be without BetterTools™.
CIRCLE NO. 195 ON READER SERVICE CARD
BYTE, range: 0 to+255
INTEGER, range: - 32768 to + J
REAL, range: Single Precision 8.43ri(^ fefc&Sfoj
Double precision 419xW** to Li
Binary Math, Single/Double/Mixed Precision
Mixed mode numeric expressions will always be REAL,.
String data:
Variable from 0 to 32767 characters in size.
Record Variables:
Allows grouping of dissimilar data types into a single logi¬
cal variable. Elements of a RECORD are addressed
as FIELDS and can be of any type, including ARRAY,
RECORD and POINTER.
Array Variables:
N-dimensional arrays of any type, including ARRAY,
RECORD and POINTER. Dynamic arrays like PC-BASICA
Pointer Variables:
Allows indirect reference to any data type. Can be used
with RECORD variable to create linked lists, or to create
relational data structures.
In addition supports PC-BASICA record types.
BetterBASIC BENCHMARK COMPARISON
in milliseconds
Better BASIC IBM
INTERPRETIVE COMPILED
*
a*
c n
*
a*
Q
8087 DP
Qu
Qu
Q
Qu
C/D
Qu
Q
REAL FOR/NEXT
1.3
1.4
0.55
0.93
0.93
0.7
0.7
ASSIGNMENT
1.0
1.0
0.93
1.5
1.5
0.1
0.1
ADD
0.77
1.1
0.44
1.6
2.3
0.4
0.4
Multiply
0.88
1.8
0.49
1.9
3.0
0.5
0.8
Division
1.0
3.0
0.49
2.8
19.7
0.6
1.1
logarithm
5.7
15.6
0.55
7.5
64.0
4.0
11.9
Exponential
7.4
27.0
0.66
6.5
43.0
3.6
10.8
SINe
4.7
17.0
0.82
17.6
35.0
3.2
12.4
COSINE
4.5
17.0
0.77
25.0
41.0
3.5
12.7
TANgent
7.2
18.0
0.66
44.0
94.0
6.9
26.0
X A Y
13.8
44.5
1.1
15.2
115.0
7.7
24.0
SQR (SQUARE ROOT)
1.4
6.5
0.33
7.2
95.0
1.1
3.5
jmm
t/MTE ARRAY
PTR
BYTE ARRAY
; STRUC
BYTE PTR
CHANCE
CHARS
CHECK
CLD
CLW
CODE -
COLOR
BORDER
COMMANDS
COMPRESS
CONSTANT
DEFINE
WINDOW
DELS
DIRS
DISABLE
DO
DO IF
DO UNTIL
DO X TIMES
DRIVES
DYNAMIC
END DO
END FUNCTION
HEADER
MW FROM
INS$
INTEGER
INTEGER ARG
INTEGER
ARRAY
INTEGER
ARRAY ARG
INTEGER
ARRAY PTR
INTEGER
ARRAY STRUC
INTEGER
FUNCTION
INTEGER PTR
INTERRUPT
INTERRUPT
CLEAR
INTERRUPT
ON/OFF
INTERRUPT
PROC
INTERRUPT
RESTORE
INTERRUPT
SAVE
INTR
KEY=
KEYWORD ARG
KEYWORD SET
LIST ALL
MAIN
MAKE MODULE
Slli
'TO
USING
SlliWP 1
■■■
PROCEDURE
PROCS*
PUBLIC
READ RECORD
READCHR
READCHR
FROM
READLINE
READLINE
FROM
READ RECORD
REAL
REAL ARG
REAL ARRAY
REAL ARRAY
ARG
REAL ARRAY
STRUC
REAL
FUNCTION
REAL PTR
RENAME
REPEAT
RESTART
RESTORE PAR
RESTORE
SCREEN
RESULT=
RETRY
ROT
SAVE MODULE
Microsoft Statements Not Supported
DEFUSR MOTOR PEN
MERGE ON PEN STICK
ONSTRIG
\ V \ «
mm * V- ••
STATUS*
STATUSLINE
STRING
STRING ARG
STRING ARRAY
STRING ARRAY
ARG
STRING ARRAY
PTR
STRING ARRAY
STRUC
STRING
FUNCTION
STRING PTR
STRUCTURE
SYSCALL
SYSCODE
SYSFLAGS
TYPE
UPPERS
WHILE... DO
WINDOW
WOR
WRITE RECORD
WRITE TO
XMEM
XMEM=
XREF
STRIG
USR
Call our Toll Free Order Line
1 - 800 - 225-5800
*SP “Single Precision
DP - Double Precision
Summit Software Technology, Inc.™
106 Access Road
Norwood, MA 02062
(617) 769-7966
BetterBASIC is also available from TANDY /RADIO SHACK Computer Centers. Ask your dealer for
Express Order Software #90-0315 for BetterBASIC, and #90-0303 for Runtime System.
BetterBASIC is a registered trademark of Summit Software Technology, Inc IBM PC, XT, AT, are registered trademarks of International Business Machines Corp. Ihndy is a registered
trademark of Thndy Corp. Lotus™ and 1-2-3™ are registered trademarks of the Lotus Development Corp. Intel © Intel Corp. HALO © Media Cybernetics, Inc. CSS © Graphic Software
Systems, Inc. Lattice C is a registered trademark of Lattice, Inc Btrieve is a . registered trademark of SoftCraft Inc.
brief!
THE PROGRAMMER’S EDITORj
dBRIEE
THE dBASE PROFESSIONAL’S ASSISTANT
"dBRIEF Turns BRIEF into the Smartest
Editor dBASE Has Ever Known”.
DAVID IRWIN
CUSTOMIZES
BRIEF FOR
dBASE III
Since its introduction, BRIEF has been
sweeping programmers off their feet. Why?
Because BRIEF has every feature they need.
Now, with the introduction of dBRIEF, you
can take advantage of BRIEF customized to
become a complete integrated environment
for development with dBASE III and III
Plus, CLIPPER or dB/III Compiler
MORE EFFICIENT
DEVELOPMENT
Increase Your Productivity
Developing an application in dBASE can be
quite a tedious process considering all that
dBASE can’t do. To compensate, some
programmers use several utility programs
that have to run separately, and then integrate
the results into one application. This slows
you down — you spend more time watching
your computer than you do programming.
IF gives you a central core — a single
area with common commands and op-
rial consistency. ^__
D ADVISOR, and DR __ bR1EF 1S |
le to the same concl ized for
. And now '^steen-
^programn^£5__--
System Requirements
dBRIEF requires BRIEF, version 1.32 or later, and IBM or
IBM compatible hardware with hard disk media. At least 384k
RAM, 512k RAM is recommended if you want to operate dBASE
within dBRIEF, and 640k RAM is preferred. Floppy systems
are not recommended .
A SINGLE PRODUCTIVE
ENVIRONMENT
Save time and reduce mundane work using
dBRIEF. Without ever leaving the dBRIEF
core you can:
• Generate dBASE code for interactive data
entry by drawing the screen with BRIEF.
• Use the special “speed coding” libraries
to write your programs with the absolute
minimum number of keystrokes.
• Optimize your dBASE code.
• Compile a program (using Clipper or the
dB/III Compiler) with 1 keystroke.
• Indent code automatically.
• View several files simultaneously.
• Automate line and column input for SAY
and GET.
• Run DOS programs like dFORMAT and
dCONVERT.
• Easily enter graphics characters.
• Select colors or video attributes for your
screen.
• Customize dBRIEF to your needs.
• Modify the dBRIEF source code.
View your file structure
while you program.
PROGRAM EDITING
YOUR WAY
A typical program editor requires you to
adjust your style of programming to its
particular requirements — NOT SO WITH
BRIEF. You can easily customize BRIEF
to your way of doing things, making it work
naturally, intuitively. BRIEF can be used
for any programming language. Even with¬
out dBRIEF it provides:
Full UNDO (N Times)
Multiple files, Unlimited size
Language sensitive user controllable features
Exit to DOS inside BRIEF
Uses all available memory
Keystroke Macros
Reconfigure keyboard
Windows
Regular expression search
Horizontal scrolling
Comprehensive Error Recovery
Programmable Macro Language
EGA and Large Display Support
Compile within BRIEF
Adjustable line length - up to 512
“[dBRIEF] acts as the central command
post for writing and editing dBASE
programs with BRIEF , but it does much ,
much more to increase your
productivity
— PC Magazine , July 1986
MONEY-BACK GUARANTEE
Try BRIEF and dBRIEF ($275) for 30 days -
if not satisfied get a full refund.
If you already own BRIEF, buy dBRIEF for only $95.
call (800-821-2492)
Jpolution
<-E) ystems
SOLUTION SYSTEMS, 335-y WASHINGTON ST., NORWELL, MA 02061. 617-659-1571
CIRCLE NO. 130 ON READER SERVICE CARD
MOVING AMONG 286$
I enjoyed Steven Armbrust and Ted For-
geron’s review of the Compaq Deskpro
286 (“Out from the Shadow of IBM:
Compaq Deskpro 286,” August 1986,
p. 80). Considering the short time they
had to work with it, their assessment
was reasonably complete. However, a
few other items should be mentioned.
For the past seven months, I have
been using a Compaq Deskpro 286 at
home and an IBM PC/AT at work to do
Pascal program development. A short
time ago, we purchased a Compaq Por¬
table II at work, and, in many respects,
I like it the best of the three.
In January, I purchased a Deskpro
286 Model 1 with the intention of
adding my own hard disk. Overall, I
found the dealer (Computerland) was
not knowledgeable enough to answer
even the simplest technical questions.
However, after about two months, the
store did manage to supply the techni¬
cal reference manual that was ordered
at the time of the original purchase. On
the other hand, the Compaq customer
service people were very helpful when
I was trying to find the jumper settings
for a memory upgrade to 2.1MB. Inci¬
dentally, the memory board must use
all 64K- or 256K-bit chips.
Something that the authors com¬
pletely missed is that most Compaq disk
types do not correspond to IBM disk
types. I found this out the hard way. I
installed an IBM type 8 in my Compaq
and found that the heads were hitting
the stops. The solution was to define it
as a Compaq type 6 and give up the use
of 1.5MB of disk space. So far, I have
not been able to find out how to set up
for a non-Compaq disk type.
On the matter of keyboards, I like
the Compaq keyboard better possibly
because I pound the keys fairly hard
and the IBM gives me the feeling that it
will fall apart any minute. The spacing
between the function keys and the main
keys is smaller on the Compaq and this
causes some problems when using
function key overlays (such as the one
used with WordPerfect). The Portable II
function key location causes me some
problems when I go back and forth be¬
tween computers. Going back and forth
between the old and new AT keyboards
is much worse than going between the
two Compaq keyboards, however.
I am using an STB EGA+ card in
my home Deskpro. The Portable II at
work was purchased to do held soft¬
ware maintenance on a product that
uses an EGA-equipped AT. For this rea¬
son, it would be desirable to.have an
EGA card in the II. However, I have not
been able to use the internal monitor
on the II with an EGA card installed. It
appears that if I wanted to drive an EGA
monitor at some held location, I would
have to open the II up and take out the
Compaq card and install the EGA card.
On the IBM it is possible to have a
monochrome and color card installed
in the cage and switch back and forth.
The problem with the Compaq II ap¬
pears to be that it uses a color card to
drive the internal monochrome display.
Therefore, installation of a second color
card causes problems.
I have been told that a bug in the
AT keyboard BIOS will cause an occa¬
sional system hang or crash when the
system reset is done on the return from
extended memory access. Experiences
that people at work have had with their
HP Vectras make me suspect that in re¬
spect to the keyboard BIOS, HP has
done an exceptionally faithful job of
cloning the IBM BIOS. I wonder, did
Compaq avoid this problem?
On other matters in the article, the
Torx screws are a pain when you do
not have the drivers. I am not sure what
I ll do when I need to replace lost Torx
screws—probably replace them all with
alien-headed screws. The interference
on slot 1 caused by the brace is unfor¬
tunate because that is a 16-bit bus slot.
The STB EGA+ is supposed to be
mounted in slot 1 only, but it seems to
work in slot 2. Backplate clearance
around slot 1 is a bit tight and makes it
impossible to plug in the monitor cable
connector into a card mounted in slot
1. The Compaq technical reference
manual does not contain the BIOS list
like the AT manual does, but overall I
find it more useful for BIOS function
applications than the IBM manual. In
the final analysis, I am glad I chose the
Compaq Deskpro 286.
David I. Spooner
Wilmington, DE
Unfortunately, the Compaq Deskpro
286 supports only 75 hard-disk drive
types and does not have a type that cor¬
responds to IBM hard-disk type 8. IBM
type 8 has 733 cylinders and 5 heads
for a total of 31.9MB. As you men¬
tioned, the closest fit that the Deskpro
286 has is type 6 with 697 cylinders
and 5 heads for a total of 30.3MB. The
good news is that the Deskpro 386 has
32 additional drive types, for a total of
47. Type 20 matches the characteristics
of your add-in hard disk exactly.
As for enhanced graphics in the
Portable II, Compacj is one step ahead
of your request. According to the com¬
pany, its new Enhanced Color Graphics
Board (ECGB) will work equally well in
the Portable II as it does in the Deskpro
386. You can remove the Portable IPs
old dual-mode display adupter, install
the ECGB, and plug the internal display
cable directly into the special (but un¬
documented) connector on the ECGB.
This board will even drive the internal
dual-mode display while in EGA modes,
or you can connect an external en¬
hanced color display.
—Steven Armbrust and Ted Forgeron
PRO TURBO
I was delighted to see PC Tech Journal
provide a closer look at Prolog develop¬
ment tools in the November 1986 issue
(“Prolog Arrives,” Michael Covington
FEBRUARY 1987
17
LETTERS
and Andre Vellino, p. 52), but your re¬
viewers have misunderstood the real
advantages that Turbo Prolog brings to
AI development. Instead, they focused
on the deviation from Clocksin and
Mellish’s Programming in Prolog. Tur¬
bo Prolog is not a C&M Prolog, but
then Turbo Pascal is not a Wirth Pascal;
nor was it ever intended to be. The re¬
viewers have not looked closely enough
at Turbo Prolog. Obviously, they ran
their usual routines and disliked the
fact that they had to modify them.
There is a good reason why Prolog
has not yielded commercial applications
in the more than 10 years it has been
around. Its first implementations were
developed in universities for universi¬
ties, a situation in which ease of pro¬
gramming comes first and programs
typically are not run more than once. In
this environment, it often is enough to
know that the program can work.
The world of commercial applica¬
tion development is much more de¬
manding. In fact, the most important
criteria is speed and compactness of
executable programs: specifically as it
pertains to development on microcom¬
puters. Your review points out the capa¬
bility of Turbo Prolog to generate pro¬
grams that run many times faster than
any other Prolog; and the benchmarks
in your article allude to this fact even
though the authors make no mention of
it in their review. These benchmarks
show that Turbo Prolog runs from 2 to
40 times faster than the other compilers
compared. In many cases Turbo Prolog
was too fast to measure accurately.
Many people have considered as¬
serting rules at runtime to be a very im¬
portant capability. In Turbo Prolog, this
can be done with the database. While
the assertion of new rules yields one
important advantage—making it easier
to build a Prolog or rule interpreter in¬
side Prolog—the question arises as to
why anyone would want to do that. The
reason for building a customized Prolog
interpreter in Prolog is grounded in the
fact that the standard Prolog interpreter
is not good enough to support many
applications. The programmer wants to
do unorthodox things, such as firing the
rules from the right to the left, or con¬
necting a certainty factor to the rules, or
have some explanation as to why a par¬
ticular solution is reached. In these
cases, Turbo Prolog is clearly the su¬
perior language implementation.
While existing Prolog interpreters
are very flexible, they are still restricted
to a single inference mechanism be¬
cause they are too slow and require too
much memory to be included in a cus¬
tomized inference mechanism for an
application. Turbo Prolog provides the
speed and small code size that allows a
programmer to write a rule interpreter
or inference mechanism that will be
truly useful in real applications, while
requiring very little extra effort.
Furthermore, anyone who has
done any significant programming in
Prolog knows that one of the big draw¬
backs of Prolog has been the difficulty
of debugging programs. Turbo Prolog’s
type system, when combined with its
trace capabilities, solves that problem.
In addition, it is widely accepted that
the disadvantages in having to declare
types are more than compensated for
by the fact that it’s much easier to cor¬
rect a mistake identified by the compil¬
er than to locate it as a runtime error.
This situation is especially true in Pro¬
log because, by construction, Prolog
fails when the types do not match. Here
again, this is important if one wants to
write real programs in Prolog.
THE ATRON BUGBUSTERS
BRING HARDWARE BREAKPOINTS
TO MICROSOFT'S CODEVIEW
You already have Microsoft’s
CodeView.™ And you’ve seen our
ads for the Atron hardware-assisted
software debuggers. Right? You
know, the Atron Bugbustersl We
make the debugging tools used by
9 of the top 10 software developers
in the PC market. Now, with our
new MiniProbe™ shortcard, you
can use your familiar watchpoints
and tracepoints in real time.
Without learning new debugging
technology.
device. This solves the most
common debugging problem: Out-
of-range pointers which overwrite
the program code or data. Often,
the overwrite is different after each
new compile of the program.
The MiniProbe can also set a
hardware breakpoint over a range
of memory locations, helping to
trap uninitialized pointers. And
MiniProbe has a crash-recovery
switch box, which lets you regain
control of a frozen system.
Only $395 puts
you into world-
class debugging
With real-time watchpoints and
tracepoints, a one-minute program
will run in one minute. Not 50
hours (the difference between
software-only debuggers and
hardware-assisted debuggers is a
3000-to-l increase in efficiency).
And if the program bug you’re
trying to find has anything to do
with interrupt activity, it might
never occur when you’re debugging
with CodeView alone.
But with the Atron MiniProbe,
you can trap events like reading
and writing to memory or an 10
© 1986 by Atron. MiniProbe™ Atron. CodeView™ Microsoft.
So now that you don't
have to learn a new
debugger, the only thing
keeping you from
debugging like the pros is
$395. And our phone
number: 408/741-5900.
Call today. Bust bugs, and
records, tomorrow.
/4nV*!l \\
THE DEBUGGER COMPANY
20665 Fourth Street o Saratoga, CA 95070
Atron is a division of Northwest Instruments. TRBA
CIRCLE NO. 249 ON READER SERVICE CARD
18
PC TECH JOURNAL
WINDOWS FOR DATA™
The first choice
of professional
C programmers
“Windows for Data is the best
programming tool I’ve ever used.
It’s the most flexible I’ve seen.
Whenever I’ve wanted to do something,
I’ve been able to find a way.”
Steven Weiss,
Stratford Systems
Professionals choose our tools because
they are designed, crafted, and supported
for professionals. Here at Vermont Creative
Software, we understand that performance
and pleasure in programming derive
from more than a long list of functions.
Windows for Data provides:
PROFESSIONAL FLEXIBILITY:
Our customers repeatedly tell us how
they’ve used WFD in ways we never imagin¬
ed - but which we anticipated by designing
WFD for unprecedented adaptability. Vir¬
tually every capability and feature can be
modified to meet special needs. You will be
amazed at what you can do with WFD.
PROFESSIONAL PERFORMANCE:
Screen output is crisp and fast. Windows,
menus, and data-entry forms snap up and
down from the screen. WFD is built upon
and includes Windows for C, the win¬
dowing system rated #1 in speed and
overall quality in PC Tech Journal (William
Hunt, July 1985).
PROFESSIONAL RELIABILITY:
An unreliable tool is worse than no tool at
all. VCS products are known in the industry
for their exceptional reliability. Ask anyone
who owns one.
PROFESSIONAL DOCUMENTA¬
TION: Over 600 pages of documentation
provide step-by-step explanations for each
major application, a reference page for each
function, listings of functions alphabetical¬
ly and by usage, and a fully cross-referenced
index. Extensive tutorials and demonstra¬
tion programs assist learning.
PROFESSIONAL TECHNICAL
SUPPORT: The same expert program¬
mers that develop our products provide
prompt, knowledgeable technical support.
PROFESSIONAL PORTABILITY:
High-performance versions of VCS
products are available for XENIX,
UNIX, and VMS, as well as DOS. No
royalties.
OUR CHALLENGE AND
GUARANTEE
If you have an application where no
other tool can do the job, try Windows
for Data. If it doesn’t help you solve
your problem, RETURN FOR A FULL
REFUND. YOU MUST BE SATISFIED.
Ask for FREE DEMO DISKETTE
Vermont 2iEimAve.
CreatlVC Richford, VT 05476
Software 802-848-7738,
Telex: 510-601-4160 VCSOFT
Prices: PCDOS* $295; XENIX, VMS, UNIX Call.
No royalties. Shipping $3.50.
* PCDOS specify C compiler.
WINDOWS FOR DATA
for DOS, UNIX, VMS ...
The complete windowing data entry, menu,
and help system that does the hard job
others can’t — we guarantee it!
Fop-up data entry windows; field types for
all C data types, plus decimals, dates, and
times; auto conversion to and from strings
for all field types; system and user supplied
validation functions; range checking; re¬
quired, must-fill, and protected fields; free¬
form movement; multiple-choice field entry;
scrollable sub-forms. Branch and nest win¬
dows, forms, and menus.
Complete context-sentitive help system
with pop-up windows and scrollable text.
Fop-up, pull-down, scrollable, and Lotus-
style menus.
NEW FOR DEBUGGING: Exclusive
VCS Error Traceback System auto¬
matically identifies the location and
cause of program errors. Eliminates the
need to code error checks on all function
calls! VCS Memory Integrity Check¬
ing helps catch those hard-to-detect,
memory-corruption errors.
NEW FOR ERROR HANDLING: In¬
stall your own error handler to be called
whenever a function detects an error.
NEW FORM LAYOUT UTILITY sim¬
plifies form design.
CIRCLE NO. 115 ON READER SERVICE CARD
Special
Holiday Offer
■ Separate Compilation ™
■ Native Code Generation
■ Large Memory Model Suppprt
■ Multitasking
■ Powerful Debugging Tools
■ Comprehensive Module Library
■ Available for the PC and the VAX
Use LOGITECH MODULA-2/86 to
decrease your overall development cycle
and produce more reliable, more
maintainable code.
Step up to the power of LOGITECH
? MODULA-2/86 at a saving of nearly
$100 off our usual low prices! We’re
offering a complete tool set including
our compiler with 8087 support (for use
with or without an 8087),our Turbo
to Modula-2/86 Translator, Run Time
Debugger, and Utilities in one holiday
package at a special price!
WINDOW PACKAGE $49
Build windows into your programs. Features
virtual screens,color support, overlapping
windows and a variety of borders.
• LOGITECH
MODULA-2/86 $89
Includes Editor, Run Time System,Linker,
8087 Software Emulation,Binary Coded
Decimal (BCD) Module, Logitech’s com¬
prehensive library,Utility to generate
standard .EXE files. AND more!
I want to step up to
LOGITECH MODULA-2/86!
Here’s the configuration I’d like:
□ Special Holiday Package $195
□ Logitech Modula-2/86 $85
□ with 8087 support $125
□ Plus Package $185
□ Turbo to Modula Translator $45
□ Run Time Debugger $65
□ Utilities Package $45
□ Library Sources $95
□ Window Package $45
□ Make Utility $25
□ ROM Package $199
Add $6.50 for shipping and handling. Calif,
residents add applicable sales tax. Prices valid
in U.S. only.
Total Enclosed $_
□ Visa □ MasterCard □ Check Enclosed
MAKE UTILITY
Figures out dependencies and automatically
selects modules affected by code changes
to minimize recompilation and relinking.
LOGITECH MODULA-2/86
with 8087 Support $129
• CROSS RUN TIME $199
Debugger and ROM Package
Still available at an introductory price!
gm LOGITECH MODULA-2/86
^ PLUS $189
For machines with 512K of RAM.
Increases compilation speed by 50%.
TURBO PASCAL to $49
MODULA-2 TRANSLATOR
“Turbo Pascal. ..is a very> good system.
But don \i make the mistake of trying
to use it for large programs
Niklaus Wirth*
Our Translator makes it even easier for
Turbo users to step up to Modula-2/86.
It changes your Turbo source code
into Modula-2/86 source,solves all the
incompatibilities, and translates the
function calls of Turbo into Modula-2/86
procedures. Implements the complete
Turbo libraries!
• RUN TIME DEBUGGER
(Source level!) $69
The ultimate professional’s tool! Display
source,data,call chain and raw memory.
Set break points, variables, pinpoint bugs
in your source!
Card Number
Expiration Date
Signature
Name
UTILITIES PACKAGE $49
Address
Features a Post-Mortem Debugger (PMD).
If your program crashes at run-time the
PMD allows you to analyze the status of
the program and locate the error. Also
includes a Disassembler, Cross Reference
Utility, and Version that allows conditional
compilation.
Phone
LOGITECH
Call for information about our VAX/VMS
version,Site License,University Discounts,Dealer
& Distributor pricing.
30 Day Money Back Guarantee!
To place an order call our special toll free
number:
Logitech, Inc.
805 Veterans Blvd.
Redwood City, CA 94063
Tel: 415-365-9852
In Europe:
Logitech SA, Switzerland
Tel: 41-21-879656
In Italy: Tel: 39-2-215-5622
LIBRARY SOURCES $99
800 - 231-7717
in California
800 - 552-8885
Source code now available for
customization or exemplification.
^as reported in Micro Cornucopia. August-September 1985. Turbo Pascal is a registered trademark of Borland International.
CIRCLE NO. 229 ON READER SERVICE CARD
LOGITECH
LETTERS
With regard to mixed types, while
it may be tedious to write
[int( 1 ),int( 2 ),symbol( go ) ];
this is only a very small part of the
whole picture. Lists are usually created
dynamically instead of being typed in
by hand, and then Turbo Prolog’s im¬
plementation has no disadvantage. On
the contrary, Turbo Prolog makes it eas¬
ier to handle objects when you can use
the functors to classify objects instead of
using type predicates such as is_atom
or is_integer. This is truly an advantage
for the serious programmer.
What you get with Turbo Prolog is
a complete development environment
with a user interface that your review¬
ers have qualified as “the best ever de¬
veloped.” It is a fast compiler, and an
implementation of Prolog that allows
for easy debugging. It has fast and small
executable code, as well as low-level ac¬
cess to the machine. In essence, Turbo
Prolog is the best tool available for
building serious AI programs, and it is
particularly well suited for development
of expert systems.
Philippe Kahn, president
Borland International, Inc.
We did not say that Turbo Prolog was
not a good product, only that it was
not Turbo Pascal. For users who want
to sacrifice some versatility in exchange
for a gain in speed, it works well.
The changes from Wirth Pascal to
Turbo Pascal were almost additions,
not deletions, of features. Only the prob¬
lematic _get_ statement was deleted,
and Wirth did the same thing himself in
Modula-2. Turbo Prolog, on the other
hand, differs from Edinburgh Prolog
largely by the deletion of features and
the addition of restrictions.
The type system of Turbo Prolog
would be welcome as an optional add¬
on to facilitate debugging. In its present
compulsory form, however, it makes
some basic algorithms, such as generic
list operations, impossible to express.
—Michael A. Covington
BASIC UNLIMITED
I just finished reading the review of the
BASIC Development System (BDS) by
BetaTool Systems (Product Watch, Paul
Hultquist, June 1986, p. 196). As a de¬
voted user of this product I was dis¬
mayed by the reviewer’s lack of appre¬
ciation for its valuable features. Too
much time was spent discussing things
such as how to copy and load the pro¬
gram rather than its advantages for
power users. Just a few examples:
Imagine running a BASIC program
that crashes with the message “Illegal
function call in line 1230” and then
wondering “how did I get there?”
With BDS, it is necessary only to
type T<Enter> and the system will re¬
spond by printing out the last 12 lines
that were executed.
Then to find what caused the ille¬
gal function call, all you have to do is
type V”1230<Enter> and BDS will dis¬
play the current values of all the vari¬
ables used in that line.
But you know what is displayed
shouldn’t be the value of LIMIT. To find
another place where and how you used
it, type X;LIMIT<Enter> and back
comes a listing of every line that con¬
tains the variable LIMIT.
Now you look at line 2450 and
wonder in what context LIMIT is used
at that point. Type L2450<Enter> to es¬
tablish line 2450 as the current line and
then type ,<Enter> and the screen will
fill with a listing of a portion of your
program with line 2450 right in the
middle of the screen.
Now you decide to renumber your
program but you are leery because you
know that when BASIC renumbers a
program you are apt to get the message
“Undefined line 1500 in 3200.” But by
then it is too late because BASIC has al¬
ready renumbered the program and the
line containing the undefined reference
is no longer line 3200 and you cannot
find out what place in the program
used to contain the line numbers
around line 1500. Therefore, you type
RU<Enter> and BDS scans the pro¬
gram for undefined lines and reports
them, but it does not make any changes
in the program.
These are just a few of the features
that BDS adds to standard BASIC.
One of the other features that
makes BDS such a pleasant tool to work
with is the ability to customize your
copy of BDS so that it works the way
you want it to work. If you want your
Find Facility to be case insensitive (the
default is case sensitive), it can be con¬
figured the way you want. If you want
Dump to bypass null or zero elements,
so be it. You can have your printer ini¬
tialize to WIDTH “LPT1: ”, 132 every
time you invoke BASIC, or you can set
the default BASIC function keys to your
own values.
I have talked to other users of this
fine product and all of them agree that
once you have used it, it is almost im¬
possible to do any work without it. Add
this to the fact that BetaTool Systems
provides courteous and accurate sup-
The Answer
to your
Debug g ing
Problems
ICD286
Announcing
New Features
• Supports EMS
• Supports Microsoft windows
At last! An 80286 emulator which is
affordable, compact and easy to use.
IDEAL for development, debugging,
testing and field service.
FAST—Full speed, real-time emula¬
tion up to 10 Mhz.
AFFORDABLE—From $2400 to
$5600, depending on options.
EASY TO USE—On-line HELP
with a screen oriented display.
KEY FEATURES:
• Hardware/software breakpoints
• 2048 bus cycles of real-time trace
• 64K of emulation memory
• Symbol and line number support
• Source-level debugging
• Real and virtual (protected) mode
support
• Symbolic assembly/disassembly
• Macros with parameters
• Installs in an IBM-PC/XT/AT*
or compatible
• Supports EMS (New Features)
• Supports Microsoft Windows
(New Option)
For further information, please con¬
tact:
Akmu&i So|(wie
Corporation
20863 Stevens Creek Boulevard
Cupertino, CA 95014
(408) 253-7515
*IBM-PC/XT/AT are registered trademarks of
International Business Machines Corporation.
FEBRUARY 1987
CIRCLE NO. 214 ON READER SERVICE CARD
LETTERS
port over the telephone and you have
what I consider to be the most useful
tool in my programming arsenal.
Al Weiss
San Diego, CA
AN EARLY VINTAGE
I would like to offer a comment regard¬
ing Michael Covington’s very useful arti¬
cle on converting the IBM Color Graph¬
ics Adapter (CGA) to improve reproduc¬
tion of color signals on composite
monochrome monitors (“A Better
CGA,” July 1986, p. 137). Because of the
values of the resistors pictured, I as¬
sume the board photograph that opens
the article is of an earlier CGA. My ad¬
apter is early 1983 vintage, yet it is dif¬
ferent from the one shown, as well as
the version described later in the arti¬
cle. There appear to be at least two
“early” versions, which could prove
confusing to those who attempt to mod¬
ify their CGA if it is like mine.
My board has a group of 100-ohm
(ft) isolation resistors in the RGB lines.
Physically they are located between the
9-pin connector and the U67. This area
is outlined in white at the left of the top
photo on page 137 of your article.
These resistors are not on the schemat¬
ic in my edition of the Technical Refer¬
ence Manual (1302234). Resistor R8 is
in roughly the position of the 15Kft re¬
sistor shown at the center in the photo.
The blue-bodied resistors shown at the
right are R5, R6, and R7 (from top to
bottom). There are no pads for the re¬
sistors to be added.
To modify a unit laid out as above,
one end of each added resistor is sol¬
dered (carefully) to righthand pads for
the 100-ft resistors, starting with the
one nearest the RGB connector. These
signals are for red, green, and blue re¬
spectively, proceeding toward U67. The
other end of the 15Kft resistor can use
the pad formerly occupied by R8 where
it joins R5 to R7. The remaining ends of
the lOKft and 12Kft resistors are then
soldered to pads R6 and R7. The modi¬
fication produces a vast improvement in
the performance of the adapter.
Stuart E. Bonney
Richardson, TX
It does appear likely that IBM made
more versions of the circuit than it doc¬
umented. Thank you for the informa¬
tion. The 100-Tl resistors apparently
provide some degree of protection
against short circuits or incorrect con¬
nections to the output connector.
—Michael A. Covington
FACE TO FACE
I have been a subscriber to PC Tech
Journal for several years and have en¬
joyed the contents, both editorial and
advertising. It was with a great deal of
dismay that I read your Product of the
Month column for November 1986 (“A
Basic Improvement,” Will Fastie, p. 31)
and saw an example of one of the worst
practices in magazine publishing.
Working in technical publishing, I
realize the pressures that batter the edi¬
torial staff from all sides—advertisers as
well as readers. I realize also that space
salespersons frequently do not feel
bound by standards of journalistic integ¬
rity. However, selling an advertisement
to Microsoft for its QuickBASIC 2.0 on
page 30, just across the gutter from
your glowing review of the very same
product on page 31, impugns the integ¬
rity of your magazine, its editors, pro¬
duction people, and advertising staff.
I truly hope that the advertising
was not deliberately sold against the
editorial on the next page. I would hate
to think that a magazine with the repu¬
tation of PC Tech Journal would prosti¬
tute itself to an advertiser.
I understand well that the editor of
the magazine is frequently helpless to
block the whims of the sales staff. How-
Cross Compile\
68000 / 08 / 10/20
Features:
■ Full, Standard C
■ Easy to Use Compiler Options
■ Complete User Documentation
■ Global Code Optimization
■ Optional Register Allocation
Via Coloring
■ ROMable and Reentrant Code
■ Comprehensive Royalty Free
Run-time Library
■ Floating Point Library Routines
■ Intermix MCC68K C with
ASM68K Assembly Language or
Microtec PASS8K Pascal
■ Optional Assembly Language
Listing Intermixed with MCC88K
C Source Line Number
■ Symbolic Debug Capability
The Microtec MCC68K C Cross Compiler
is a complete implementation of the
‘C’programming language as de¬
fined in The C Programming
Language by Kernighan and
Ritchie with extensions.
MCC68K emits highly optimized
assembly language code for
the Microtec ASM68K
Host computers include: DEC VAX, DG MV-
Series, Apollo, IBM PC and PC-compatibles..
We’re Functional and Fast and Serious
about our products. We’ve been providing
flexible and economical solutions for soft-
assembler.
The Microtec MCC68K
package includes the
macro assembler,
linking loader,
run-time li¬
brary, and
compre¬
hensive
user’s
guide.
Beginning with product concept, through
development, quality assurance, and post¬
sales support - Quality, Compatibility
and Service are the differences which set
Microtec Research apart from others.
If you’re a serious software developer, shop¬
ping for software development tools, call or
write today for more information :
800 - 551 - 5554 ,
In Ucall 1406/739.2919.
3930 Freedom Circle, Suite 101, Santa Clara, CA 95054
Mailing Address: P.O. Box 60337, Sunnyvale, CA 94088
W//A microtec @
Wm RESEARCH
MICROSOFT LANGUAGES NEWSLETTER Vol. 2, No. 2
News about the Microsoft Language Family
The Evolution of Optimization Techniques Used in Microsoft® C.
One of the reasons the Microsoft C Compiler has been chosen by leading software developers is because
of the optimization techniques used in the code generator of our production-quality compilers. Microsoft’s
advanced optimization capabilities mean that generated code is small and fast.
Local optimization was implemented in Microsoft C Version 3.0. Most MS-DOS * -based C compilers implement
this technique, but good local code generation such as that in Microsoft C Version 3.0 uses pattern matching to
select optimal sequences and register targeting to evaluate expressions in their target destinations. Peephole analysis
is also used and includes such optimizations as redundant load/store analysis. This increases the efficiency of
the resulting code by removing unnecessary or duplicate instructions. The compiler also optimizes branches
by shortening or removing branches where it can.
Microsoft C Version 4.0 went one step further with block optimizations that used common subexpression elimination.
This improved code optimization still further. The advantage is the time saved by avoiding recalculation of
computations which are used repeatedly in the program.
For example:
a = b * (c/d); will evaluate to:
tmp = (c/d);
a = b * tmp;
e = f * (c/d); will evaluate to:
e = f * tmp;
Note: depending on the context, tmp might be a register variable rather than a memory location.
The next progression for block optimizations is to do loop optimizations in our future production-quality compilers.
If a calculation inside a loop does not depend on any calculations inside the loop, it can be moved outside the
loop. This is called invariant code motion. A second loop optimization technique is called induction variables.
This means that while in a loop, multiplies by the control variable can be turned into additions.
Examples of induction variable optimization:
1. for (i = 0; i < 10; ++i)
j+=i*7;
evaluates to:
for (i = 0; i < 70; i+=7)
j+=i;
2. char a[10];
for (i = 0; i < 10, i++)
a[i] = 1 1 ;
evaluates to:
memset (a, ‘c’, 10);
ie: the following 8086 instruction would be generated:
REP STOSB
There is also loop enregistering, in which case calculations can be kept in a register for the whole loop. Loop
optimization is implemented in the new 386 C Compiler in the XENIX® 386 Software Development Toolkit.
For more information on the products and features
discussed in the Newsletter,
write to: Microsoft Languages Newsletter
16011 NE 36th Way, Box 97017, Redmond, WA 98073-9717.
Or phone:
(800) 426-9400. In Washington State and Alaska,
call (206) 882-8088. In Canada,'call (416) 673-7638.
Microsoft, MS-DOS, and XENIX are registered trademarks of Microsoft Corporation.
Latest DOS Versions:
Microsoft C Compiler
4.00
Microsoft COBOL
2.10
Microsoft FORTRAN
3.31
Microsoft Macro Assembler
4.00
Microsoft Pascal
3.32
Microsoft QuickBASIC
2.00
T nnV for the- Microsoft I ^nonaaes Newsletter everv month in this nublication.
Clarify your Source Code
C, BASIC, Pascal, dBase, Modula-2 .
programmers: Be more productive with *
two new utilities from Aldebaran
Laboratories!
Source Print organizes your
source code, simplifies debugging, makes
documentation a snap
■ Index (cross
reference) for
variables, functions,
procedures, fields
■ Structure outlining
to draw lines around
nested structures
■ Automatic
indentation
■ Table of contents list¬
ing functions, proce¬
dures, subroutines
■ Boldface printing of key words
■ Split multistatement BASIC lines for readability
■ Extract routines by name
Tree Diagrammer" identifies the
hierarchical structure of your program
Occa^a^’
comes
*aU«a^ eS
a ' on8 ,ner’s
sou
\ e oVb\e
b e\pi^ l °
docomen
1>0 d
$ 55 .
Prints organization chart
of program automatically
Illustrates hierarchy of calls to functions, proce
dures, subroutines
Indicates recursive calls
Both utilities have an easy-to-use menu with
point-and-shoot file selection, and let you search
for files containing a given string. For IBM PC
and compatibles with 256K.
Get your programs organized now. Order these
indispensable tools today. We ship immediately,
and there’s no risk with our 60-day money-back
guarantee.
800 - 257 - 5773 , 800 - 257-5774 ( ca)
MC, VISA, AX, COD. Add $5 for shipping.
Source Print and Tree Diagrammer are trademarks of Aldebaran
Labs, dBase is a trademark of Ashton Tate.
Handles up to 50 files, 60,000 lines.
Aldebaran Laboratories, 3339 Vincent Rd.
Pleasant Hill, CA 94523 415-930-8966
YES! Rush me
□ Source Print (a $75_f
□ Tree Diagrammer (a $55_
Ship/Handling $5. For CA add 6% tax _
TOTAL_
Name_
Company_
Address_
City_
ais
. State
□ Check enclosed
Card #_
Signature_
□ VISA □ Mastercard □ American Express
_Exp. Date
_Phone #
LETTERS
ever, the sales people should realize
that readers and advertisers alike hold
those periodicals in greatest esteem that
resist the temptation to sully their repu¬
tation by selling “advertorial.”
Again, I enjoy your publication. I
hope that this letter will help the sales
staff realize that readers are indeed per¬
ceptive to actions that adversely impact
the magazine’s reputation.
Harold Winard
Wharton, NJ
Yes, it’s a fine mess. We know that
Microsoft runs the newsletter next to
Product of the Month, but we forgot to
check its content that month. We did
not realize the company would feature
QuickBASIC. All we can say is that
Microsoft also did not know we would
feature QuickBASIC, because our policy
is, and always has been, not to notify
the vendor in advance when its product
has been named.
We normally catch this kind of
problem. This time, we did not.
—WF
EMULATE-STRAIGHT
I read with great interest your article
entitled “LAN Gateways,” (Art Krumrey
and Roger Addelson, November 1986,
p. 74). However, one slight mistake in
the article regarding nomenclature
served to confuse me greatly.
The authors continually referred to
the “IBM 3270-PC Emulation Pro¬
gram^).” Of course, IBM does make a
machine called the IBM 3270-PC, but I
do not believe that this is the product
that Messrs. Krumrey and Addelson
were using as their test vehicle.
Of course, IBM’s nomenclature
leaves something to be desired, but that
is a subject for another day.
The article, as a whole, was very in¬
formative. There are many of us out
here in the SNA/SDLC world who are
trying to come up with the optimum
way to network the myriad of devices
that seem to have sprung up in the last
few years. Please give us more of these
articles in the future.
Paul Sligar
Matsushita Electric
Corporation of America
Norcross, GA
The product reviewed is indeed the IBM
PC 3270 Emulation Program, version
2.0. It is a member of IBM’s family of
3270 PC Emulation Programs. PC Tech
Journal regrets the error.
24
PC TECH JOURNAL
*
r
i
I
::
Lh
l
Introducing
The Most Important
Programming Development
Since The Introduction Of C:
ADVANTAGE C+ +
Exclusively From LIFEBOAT For PC!MS-DOS
Finally there's a programming language that
enhances C, instead of making it obsolete!
ADVANTAGE C + +, developed by AT&T, is a major
programming breakthrough. By introducing the
concept of classes, it enables C programmers to
use object-oriented programming methods.
ADVANTAGE C + + gives you greater efficiency,
flexibility and reliability than ever before—and
allows you to more productively build large and
sophisticated applications.
ADVANTAGE C++All The Benefits
Of C Without Its Limitations!
• Opens the door to object-oriented program¬
ming.
• Allows programs with greater resilience and
fewer bugs.
• Lets you write reliable, reusable code that is
easier to understand.
• Has many enhancements over C, yet maintains
full compatibility with existing C programs.
Advantages Only ADVANTAGE C+ +
Can Give You:
• Operator Overloading—Allows simple, reliable
user-designed types.
• Function Name Overloading—Simplifies
function names and argument lists.
• Guaranteed Programmed Initialization — En¬
sures automatic initialization of all data objects
before their use.
® Guaranteed Programmed Type Conversion —
Ensures consistent conversions from one user-
designed type to another.
• Optional Strong Type Checking—Weeds out
type mismatches at compile time.
• Classes—Similar to structures; provide syntax
for user-designed data types and encapsulation of
access functions with data objects.
• Data Abstraction — Makes code easily reusable
and more resilient.
• Data Hiding — Improves software reliability.
• Inheritance—Enables generic code written for
more abstract types such as 'list' or 'windows' to be
used by more specific types.
• Constant Data Types—Prevent inadvertent
alteration of fixed values, such as hardware
addresses.
• Reference Data Types—Improve the efficiency
of argument passing.
• Inline Functions—Remove the overhead of
calling external functions.
• Heap Management—Simplifies the use of
dynamic memory.
Why be limited to just C...when you can have all
these pluses! ADVANTAGE C + + includes libraries
for stream I/O and complex math — and versions
are now available for Lattice C and Microsoft C. Call
today to order or to obtain a complete technical
specification sheet:
1-800-847-7078
In NY: 914-332-1875
twain at
The Full-Service Source for Programming Software.
55 S. Broadway, Tarrytown, N.Y. 10391
CIRCLE NO. 163 ON READER SERVICE CARD
helps save time, money and cut frustrations. Compare, evaluate, and find products.
RECENT DISCOVERY
Poly Boost - Run 2 to 10 times
faster with software accelerator.
Speeds disk access, screen display,
keyboard input. PC S 69
Al-Expert System Dev t
Arity System-incorporate w/C. MS S 259
Experteach-Improved, samples PC S 399
EXSYS PC S 319
Insight 2+ - dB2, language MS S 389
Texas Instruments:
PC Easy PC S 439
Personal Consultant Plus PC $2599
Al-Lisp
Microsoft MuLisp 85 MS $ 199
PC Scheme LISP - by TI. SCHEME has
simple, “orthogonal” syntax. PC $ 85
TLC LISP-classes, compiler. MS $ 225
TransLISP-Good for learning MS $ 85
Others: IQ LISP ($ 155), UNX LISP ($59),
IQC LISP ($269), WALTZ LISP ($ 139)
Al-Prolog
APT - Active Prolog Tutor - build
applications interactively PC $ 65
ARITY Standard - full, 4 Meg
Interpreter - debug, C, A*SM PC $ 319
COMPILER/Interpreter-EXE PC $ 699
With Exp Sys, Screen - KIT PC $1129
LPA Mac Prolog - Complete incremental
compiler and an interpreter MAC $ 295
LPA MicroProlog - intro MS $ 85
LPA MicroProlog Prof. - full
memory MS $ 349
Prolog-86 - Learn Fast MS $ 89
Prolog-86 Plus - Develop MS $ 229
TURBO PROLOG by Borland PC $ 69
Editors for Programming
BRIEF Programmer’s Editor -
undo, windows, reconfigure PC Call
EM ACS by UniPress - powerful,
multifile, MLISP. Source: $929 $ 299
Epsilon - like EM ACS PC $ 155
Kedit - like XEDIT PC $ 105
Lattice Screen Editor-multiwindow
multi-tasking Amiga $ 89 MS $ 109
PC/VI - Custom Software MS $ 109
Personal REXX - PC $ 109
PM ATE - power, multitask PC $ 109
SPF/PC - fast, virtual memory PC $ 139
XTC - multitasking PC $ 79
FEATURES
dBXL by Word Tech - complete interpreter
clone. Adds windowing. Quicksilver
LAN support. Non-copy protected.
PC $ 129
TransLISP PLUS - with C INTERFACE.
400+ COMMON LISP functions.
Optional UNLIMITED Runtime $ 150
PLUSorMSDOS $ 179
Note: All prices subject to change without notice.
Mention this ad. Some prices are specials. Ask about
COD and POs. Formats: 3" laptop now
available, plus 200 others. UPS surface shipping
add $3/item.
700 + Programmer’s Products
The Programmer’s Shop carries every program¬
mer’s software product for MSDOS, PCDOS,
CPM, Macintosh, Atari, and Amiga systems. We
help you choose the best tools for you. Most popular
products are in stock, available for quick delivery.
We will gladly special order a product for you at
no charge — just allow a few extra days for de¬
livery.
Need Cross Compilers, Translators, or the right
Fortran compiler? Ask us.
Our Services:
• Programmer’s Referral List • Dealers Inquire
• Compare Products • Newsletter
• Help find a Publisher • Rush Order
• Evaluation Literature FREE • Over 700 products
• BBS • 7 PM to 7 AM 617-8264086 National Accounts Center
C Support-Systems
Basic-C Library by C Source MS $139
C Sharp - well supported, Source,
realtime, tasks PC $600
CToolSet-DIFF, xref, source MS $ 95
The HAMMER by OES Systems PC $159
Lattice Text Utilities PC $ 95
Multi-C - multitasking PC $149
PC LINT-checker. Amiga $89, MS $107
SECURITY LIB - add encrypt to MSC.
C86 programs. Source $229 PC $115
Quickshell - script compiler PC $349
Fortran & Supporting
Forlib + by Alpha - graph, comm. $ 59
M ACFortran by Microsoft - full 'll $229
MS Fortran link to C $209
No Limit - Fortran Scientific $119
RM Fortran - enhanced “IBM Ftn” $389
Scientific Subroutines - Matrix $149
MultiLanguage Support
BTRIEVE ISAM MS $199
BTRIEVE/N - multiuser MS $469
CODESIFTER - Execution PRO¬
FILER. Spot bottlenecks. MS $109
Dan Bricklin’s Demo Program PC $ 65
HALO Graphics -115+ device
interfaces, rich, printer. Specify
language interface PC $209
Microsoft Windows Software
Development Kit PC $349
PANEL - data validation, no
royalties Xenix $539, MS $229
Pfinish Performance Analyzer MS $249
PLINK-86 - a program-independent
overlay linker to 32 levels. MS $249
PLINK-86 PLUS - incremental MS $369
PolyLibrarian MS $ 85
PVCS Version Control MS $329
Screen Sculptor-slick, thorough PC $ 99
ZAP Communications - VT 100,
TEK 4010emulation, file xfer. PC $ 89
C Libraries-Communications
Asynch by Blaise PC $135
Greenleaf Comm Lib. PC $149
Multi-Comm - add multitasking, use
w/Multi-C PC $149
Software Horizons pack 3 PC $119
RECENT DISCOVERY
Uniware Cross Development Tools -
include 68000 C compiler. Development
Package with compiler, assembler, link
editor, and utilities, 17 cross assemblers
for Intel. TI, Motorola, Zilog,
etc. - relocatable, macros. MS Call
C Language-Compilers
AZTEC C86 - Commercial PC $ 499
C86 by Cl - 8087, reliable MS $ 299
Datalight C - fast compile, good
code, 4 models. Lattice compatible,
Lib source. Dev’rs Kit PC $ 77
HOT C - new, intriguing PC $ 85
Lattice C - from Lattice MS $ 299
Mark Williams - w/debugger MS $ 369
Microsoft C 4.0 - CodeView MS $ 279
Wizard C - full, fast. MS $ 359
C Language-Interpreters
C-terp by Gimpel - full K & R MS $ 229
C Trainer by Catalytix PC $ 89
INSTANT C - Source debug,
Edit to Run-3 seconds, .OBJs MS $ 379
Interactive C - interpreter, editor PC $ 225
Introducing C-learn C quickly PC $ 105
Run/C Professional - MS $ 179
Run/C Lite - improved MS $ 97
C Libraries-General
Blackstar C Function Library PC $ 79
C Essentials by Essential PC $ 83
C Food by Lattice-ask for source MS $ 109
C Scientific Subroutines-Peerless MS $ 135
C Tools Plus (1&2) PC $ 135
C Utilities by Essential - Comprehensive
screen graphics, strings. Source. PC $ 137
C Worthy Library MS $ 269
Entelekon C Function Library PC $ 119
Greenleaf Functions-portable, ASM $ 139
PforCe by Phoenix - objects PC $ 249
C Libraries-Files
FILES: C Index by Trio - full B +
Tree, vary length field, multi compiler
/File is object only MS $ 89
/Plus is full source MS $ 349
CBTREE-Source, no royalties MS $ 99
CTree by Faircom-no royalties MS $ 319
dbQUERY-adLoc, SQL-based MS $ 159
dbVISTA - full indexing, plus optional
record types, pointers. Network.
Object only- MS C, LAT, C86 $ 159
Source - Single user MS $ 429
Source - Multiuser MS $ 849
dBASE Tools for C PC $ 65
dbc Isam by Lattice MS $ 199
dBx - translator MS $ 319
w/source MS $ 519
FEATURE
Insight 2 + - Flexible expert
systems shell has intrinsic dBASE
operators, forward and backward
chaining, transparent view of
reasoning process. MS $ 389
We support MSDOS (not just compatibles), PCDOS, Xenix-86, CPM-80, Macintosh, Atari ST, and Amiga.
CIRCLE NO. 162 ON READER SERVICE CARD
provides complete information, advice, guarantees and every product for Microcomputer Programming.
Special Features
Finally . . . Easy Screen Handling for COBOL Saves Time,
Adds Flexibility: Screenplay
Menus, Help, and Data Entry Screens can be created (“painted”) interac¬
tively. When you are satisfied Screenplay performs all screen handling for
you in any of more than 9 compilers.
Save valuable time by avoiding the tedious, time consuming process of
writing screen handling source code. Screenplay’s easy-to-use panel painter
allows you to create I/O panels, pop-up windows or menu panels.
True screen handling flexibility is yours. Override default panel settings
to design practically any type of screen imaginable — even change just
about any panel characteristic at runtime .
Prototype your draft screens before you write a single line of COBOL
source code. In addition, you can link Screenplay by interrupt or directly
to your application. And if your compiler doesn’t allow a direct link, use
the dynamic load option for linking Screenplay to your application.
You can assign practically any keyboard key to serve as a specific cursor
function and define exactly which keys will return control to your applica¬
tion . Entirely reconfigure the keyboard for your program.
Screenplay’s panel painting process is a one step approach. There’s no
need to go through a separate process to establish fields on your I/O panel.
What’s more, you can use any ASCII character in your Screenplay panels.
You also have full control over character attributes such as foreground and
background color, intensity, and blinking.
Panels are stored in a compressed ASCII file save memory and disk space.
Copy panels across and within files, rename, delete, test and print panel de¬
tails. Even print an image of the panel for your documentation. No royalties.
Not copy-protected. Supports IBM, MS, Realia, Ryan-McFarland (includ¬
ing 8X) COBOL.
201-895-4724 PCDOS List: $175 Ours: $155
Multitasking, Windowing for C, Turbo Pascal, or dBASE or...
in only 12K!
SYNERGY Development Toolkit
The highly efficient design of Synergy by Matrix gives you the benefits
of powerful graphics, windows, pull-down menus, dialog boxes, sophisti¬
cated text and icon management, math support, multitasking, and SPEED,
all for an incredibly small 12K RAM requirement.
The Synergy Runtime provides character and graphics support for menus,
windows, dialog boxes, and more, so you can write programs that work in
either mode, with very reasonable, low runtime fees.
Functions include: window management with capabilities like tile and
overlap, variable size and placement, process management, to support mul¬
titasking and sub-process generation, menus, dialog, and icon management,
graphics, text (including a variety of fonts and sizes), and console manage¬
ment.
The Synergy Development Toolkit is a collection of sophisticated tools de¬
signed for software developers writing new applications using Synergy, or
modifying existing applications to take full advantage of Synergy. Tools in¬
clude: graphics resource editor for creating and modifying icons and text
fonts, graphics resource compiler to construct and manage resource data
files, font compiler and manager, debugging tools, sample library, and
more.
Supports IBM or Microsoft Macro Assemblers, Turbo, IBM, and Micro¬
soft Pascal, IBM and lyiicrosoft BASIC, Lattice and Microsoft C, and
dBASE II and III. CGA, EGA, and Hercules monochrome graphics
support.
PCDOS List: $395 Ours: $375
617-567-0037
Expert System Shell & Language
Screen Management H O S ADDON
Add AI Power to Existing Applications
Insight 2 +
“Insight 2+ is an awesome system . . . this may well be the best expert
system generator on the market.” — ONLINE
Choose a knowledge engineering tool that makes your current database sol¬
utions work smarter with a built-in PASCAL-like knowledge engineering
grammar that minimizes your training time. Insight 2+ works with your
installed software and database and has intrinsic dBASE II and III operators,
plus Level Five’s powerful, flexible Production Rule Language.
Insight 2+ is a highly connective, integrated expert systems shell that
adapts to your needs. Its detailed interactive reporting system lets you see
inside the reasoning process of the knowledge base. You can see reports on
the lines of reasoning, known and unknown facts, alternate rule pathways
to a shared conclusion, or knowledge trees, showing all possible goals, con¬
clusions, and paths of reasoning hierarchically — and more. You can even
step forward and back in a rule chain from beginning to end.
Create “what-if' scenarios by saving, editing, and re-using knowledge
base contexts, or customized reporting to track end-user sessions.
Insight 2 + performs backward and forward chaining inference, supported
by object attribution and goal outlining, outside program activation, and full
parameter passing capabilities.
Insight 2 + supports very large knowledge bases which can be linked —
the number limited only by disk space. Full scientific and math capabilities
include logarithmic and trigonometric functions and floating point notation;
ideal for engineering and scientific applications.
305-729-9046 PCDOS List: $485 Ours: $389
Get a Cleaner, Faster, User
Interface with
The Screen Ace Form Master
Coded in assembler to give you the
power for creative design, and the
speed not available in other packages.
Form Master supports all 256 color
and monochrome attributes. Paint
screens with the screenbuilder (allows
changes without recompiling!) and
save to a DOS file, define screens
within your program at runtime, or
combine these techniques, to modify
screens on the fly.
400+ lines and 2000+ fields per
screen; the number of screens limited
only by available memory.
Permits flexible function key defini¬
tion, toggling field colors and attri¬
butes at runtime. Switch between
screens without losing data.
DESQview, TopView, MS Win¬
dows compatible, Lattice, MS C (all
models), APL*Plus/PC, Assembler.
Call for a $3 demo with tutorial.
PCDOS List: $195 Ours: $179
818-989-5329
NOW: Full Shell Programming
with MSDOS:
PolyShell with
UNIX-Like Utilities
PolyShell gives you a UNIX-com¬
patible command environment PLUS
a full set of UNIX-like utilities — yet
DOS commands and batch files are al¬
ways immediately accessible.
Alias and Command Macro Sub¬
stitution save keystrokes, let you ac¬
cess and customize DOS internal
commands. With History Substitu¬
tion, edit, re-execute previous com¬
mands or portion of command.
‘C-Shelf and Bourne Shell compati¬
ble I/O redirection, very flexible
filename expansion capabilities.
Includes 30 powerful utilities from
the UNIX world (like grep, diff, sed,
cut, paste). Shell and utilities can be
loaded separately. Requires only 30K
RAM total. PolyShell is NOT UNIX;
no UNIX license needed.
PCDOS List: $149 Ours: $129
503-645-1150
Call for a catalog, literature, advice and service you can trust
SI hours 99
8:30 AM-8:00 PM EST.
800 - 421-8006
THE PROGRAMMER’S SHOP™
128-P Rockland Street, Hanover, MA 02339
Mass: 800-442-8070 or 617-826-7531 12/86
“The scope and detail of services you provide are
exemplary — it's obvious you have given a lot
of thought to what information people need . . .
For someone like myself, critical appraisals of
software and comprehensive collections of offer¬
ings such as you have are really useful.''
A. Bruce Cyr
Foundation of American College
of Health Care Administrators
CIRCLE NO. 151 ON READER SERVICE CARD
TUrbo Progmmmers:
V
]I ou're programming, getting all your ducks
JL. in a row, but there's a culprit in there, a bug.
T-DebugPLUS, the new symbolic run-time debugger,
helps you find that bug and fix it faster than ever before.
In Command. In Control.
See what happens as your Turbo Pascal programs
run.. .examine variables...change them.. .be in control.
The top half of your screen displays the source code,
current line highlighted. You debug interactively on the
lower half. All data types are accessible, both local and
global variables. You can set breakpoints at a procedure,
function, or line number.
Instant Gratification.
T-DebugPLUS integrates invisibly, automatically
loading Turbo Pascal. Switch instantly between the
debug and output screen. Jump instantly to the editor
when you find a bug.
" T-DebugPLUS .• Don't program in Turbo
PaSCal Without it Neil Rubenking
PC Magazine
Experts agree, it's an invaluable time and frustration
saver. T-DebugPLUS is only $60.
More Power. More Productivity.
Turbo EXTENDER” helps you break the 64K barrier
for both code and data, allowing you to use all 640K.
A source code conversion program, make facility, and
run-time routines make writing and compiling large
programs dramatically easier. Turbo EXTENDER is
only $85.
Find the culprit fast
with T-DebugPLUS'
TurboPower Utilities" supplies nine powerful
programs. Fbur Pascal utilities, including the acclaimed
Pascal Structure Analyzer and Execution Timer, help
you write programs that are bug free, easier to docu¬
ment, and faster. Five PC-DOS utilities help you analyze,
change, and find your program files. TurboPower
Utilities is $95 with source, $55 executable only.
"Impressive products. ..I recommend them:'
Philippe Kahn, President
Borland International
Satisfaction guaranteed or your money back
within 30 days.
Call toll free for credit card orders:
800 - 538-8157 x830
outside California or
800 - 672-3470 x830
in California
Shipping and taxes prepaid for TurboPower
Software orders in U.S. and Canada. Others
please include $6 per item for shipping.
TurboPower Software
products require Turbo
Pascal 3.0 (standard,
8087, or BCD) and
require PC-DOS 2.X
or 3.X, and run on the
IBM PC/XT/AT and
compatibles.
m^3
TUrboPower Software, 3109 Scotts Valley Dr. #122,
Scotts Valley, CA 95066
Call 408-438-8608 for more information
(M-F 9AM-5PM PST).
CIRCLE NO. 193 ON READER SERVICE CARD
Now You Can Tkirn Your PC On And Off From Anywhere.
You’re on the road. Chicago.7:00 AM. modem as well as a host of remote software
You just got your wake-up call, and you’re about communications packages. And our Dyna-Talk
to place one yourself, back to your PC at software keeps your system secure while keep-
the LA office. No matter that it’s 4:00 AM there, ing track of all authorized and unauthorized
and the PC is turned off. You have Turn-On, access attempts. Turn-On is a 24-hour-a-day
an amazing peripheral that senses your call productivity tool that is a 24-hour-a-day
coming in and, before answering, safely powers protectivity tool as well, featuring three-stage
up the peripherals and the PC, runs you power protection against surges, spikes and
through a three-level security check, then glitches, at no extra cost,
puts you through to your system. From there, Turn-On. When it comes to your PC,
you can get your PC started on a pre- there’s nothing remotely like it. For the dealer
programmed assignment, while LA ^ w nearest you, call (800) 638-9098.
sleeps and you go take a shower. '*%s ts>dE / ^Dynatech Computer Power, Inc.
And when your PC is done Jf 4744 scotts Valley Drive,
Turn-On automatically turns it off. Scotts Valley, California 95066
Turn-On works with your 408/438-5760.
CIRCLE NO. 178 ON READER SERVICE CARD
COMPUTER POWER, INC.
Theme
-320K. Windowing can gi ve you a whole new outlook.
It can also gobble up a whole lot of memory
Lotus is a registered trademark of Lotus Development Corporation. Microsoft is a registered trademark of Microsoft
Corporation. IBM is a registered trademark of International Business Machines Corporation. Sidekick and Turbo
Lightning are trademarks of Borland Int., Inc. ProKey is a trademark of RoseSoft, Inc. Memory requirements are
manufacturers’ minimum system requirements. © 1986 Intel Corporation. Above is a trademark and Intel a
registered trademark of Intel Corporation.
-66K, -128K, -128K
A word of warning: Too many
pop-ups can have a negative
effect on your memory
Random H
-128K Everyone will tell you downloading
is where it’s at. Which is why expanded memory
is where you should be.
It can happen just like that.
One minute you’ve got a walloping 640K, the
next minute, you’ve got zip.
That’s because each new application you
add devours precious RAM.
Fbrtunately you can avoid playing memory
roulette. With an Above™ Board from Intel.
Above Board is more than just another
slam bam memory board. It’s a long-term
memory solution.
It not only takes you up to 640K of conven¬
tional memory it gives you up to 4 megabytes of
expanded memory Based on the EMS standard
developed by Lotus® Microsoft® and the folks
paying for this ad.
So now you can take advantage of applica¬
tions like the ones over
there on the left, know¬
ing you’ve got memory
to spare.
Plus (and it’s going
to be a big plus in the
future), Above Board
provides extended
memory which will
support protected mode DOS. So you won’t have
to eighty-six your Above Board, no matter
what happens in’87. And beyond.
What’s more, every board comes with a
five-year warranty toll-free hotline support and
a free copy of Microsoft Windows. (- 320K. But
then, with Above Board, that’s no big loss.)
Fbr details, see your favorite computer dealer.
Or can us at (800) 538-3373.
And find out why the first thing to go is the
last thing to worry about.
CIRCLE NO. 216 ON READER SERVICE CARD
TECH RELEASES
Hardware, software, and other deielopments for the IBM PC family
Modgraph, hit's PERFORMER U graphics controller
HARDWARE
A 16-MHz, 80386 microprocessor-based
system, PC’s Limited 386 16 , has been
previewed by PC’s Limited. The system
uses VLSI (very large scale integration)
technology', incorporating fewer than 30
chips on the motherboard. The mother¬
board measures 9 inches by 13 inches
and has eight expansion slots (six avail¬
able). The expansion bus is user-switch-
able between 8 and 12 MHz. The sys¬
tem's memory' architecture features
pure static RAM chips for zero-wait-state
operation. The PC’s Limited 386 1(1 base
configuration includes 1MB of RAM, a
1.2MB diskette drive, a 200-watt power
supply, and an I/O interface card with
four video output modes, a mouse port,
two serial ports and one parallel port,
and a diskette drive controller. PC’s Lim¬
ited will offer the following as options: a
1.44MB, 3^ inch diskette drive; a 150MB
ESDI (enhanced small device interface)
hard-disk drive with an average access
time of 16 milliseconds (ms), and 40MB
and 80MB hard-disk drives, each with a
28-ms access time. Prices for the 386 10
and its options are not yet available.
PCs Limited, 1611 Headway Circle,
Building 3, Austin, TX 78754;
800/426-5150; in Texas, 800/252-8336
CIRCLE 301 ON READER SERVICE CARD
Two high-resolution graphics control¬
lers, the performer i and the perfor¬
mer ii, have been announced by Mod-
graph, Inc. Both use the Hitachi
ACRTC (HD63484-8) graphics coproces¬
sor. The performer i, with a 40-MHz
pixel clock and a drawing speed of 2
million pixels per second, offers an on¬
board video memory' of 16KB by' 256KB
for display of 16 colors with resolutions
from 640 by 480 to 1,024 by 780 pixels.
Primitives include line, circle, ellipse,
arc of circle or ellipse, filled rectangle,
and polygon. Zoom, pattern operations,
and area fills are implemented in the
hardware. Video output is RGBI at TTL
(transistor-transistor logic) levels. The
performer ii offers all the features of per¬
former i, but with a resolution of up to
1,280 by 1,024 pixels, 256 colors from a
palette of 4,096, 40KB by 256KB video
memory, and a pixel clock of 110 MHz.
performer i, $1,895; ii, $3,495.
Modgrapb, Inc., 56 Wintbrop Street,
Concord, MA 01742; 617/371-2000
CIRCLE 315 ON READER SERVICE CARD
A high-performance graphics board that
provides twice the resolution and up to
100 times the speed of the IBM En¬
hanced Graphics Adapter (EGA) has
been introduced by' Quadram Corpo¬
ration. QuadHPG is based on the Intel
82786 graphics coprocessor. It supports
four resolution modes: IBM Color
Graphics Adapter (CGA), EGA, and Pro¬
fessional Graphics Controller (PGC) and
a 640-by-480 pixel mode for RS-170A
RGB display. QuadHPG can display as
many as 256 colors from a palette of
more than 16 million. It draws at a rate
of 2.5 million pixels per second, dis¬
plays up to 25,000 characters per second
and has an area fill rate of up to 3.75
million pixels per second. The board
features from .5MB to 2MB of standard
DRAM video memory for display re¬
fresh, character fonts, and display list. It
supports both analog and digital output
and is compatible with either an 8- or
16-bit data bus interface. $1,095.
Quadram Corporation, One Quad Way,
Norcross, GA 30093; 404/923-6666
CIRCLE 310 ON READER SERVICE CARD
The 4375M UltraScan monitor from
Thomson Consumer Products Cor¬
poration automatically adjusts to any
horizontal scan frequency between 15.7
and 35 KHz, as well as any vertical scan
frequency between 45 and 75 Hz. This
range supports the IBM CGA, EGA, and
PGC standards, as well as the IBM
monochrome and Hercules standards.
The 4375M UltraScan features a 13-inch
Ihomson's 4S75M l ProScan color monitor
diagonal, .31mm-dot pitch tube with
high-contrast glass that eliminates glare,
thus increasing picture contrast; it also
filters color input, thereby improving
the reproducible color range. The
4375M uses a multistep electron gun to
automatically adjust the focus across a
range of resolutions from 300 by 500
pixels to 800 by 560 pixels. $895.
Thomson Consumer Products Corpora¬
tion, 5731 W. Slauson Avenue, Suite
111, Culver City, CA 90230;
800/325-046; in California,
213/568-1002
CIRCLE 309 ON READER SERVICE CARD
Systems Manufacturing Technology', Inc.
has introduced the UltraGraph, a
graphics adapter that uses the Intel
82786 graphics coprocessor. The Ultra-
Graph will process graphics at speeds
up to 20 million pixels per second. The
adapter offers a resolution of 2,048 by'
2,048 pixels, 4MB of display memory',
256 colors, and 40-column-bv-25-line
and 80-column-bv-25-line alphanumeric
and all-points-addressable modes, in¬
cluding the IBM CGA, EGA, and PGC
and two settings between the PGC and
the 2,048-bv-2,048 mode. $2,500.
Systems Manufacturing Technology,
Inc., 1145 Linda Vista Drive, San Mar¬
cos, CA 92069-3820; 800/648-6262; in
California, 619/744-3590
CIRCLE 311 ON READER SERVICE CARD
Two workstations designed to merge ar¬
tificial intelligence with commercial in¬
formation processing and based on the
Intel 80386 have been announced by
Mad Intelligent Systems, Inc. The
D3000 series is a family of PC/AT-com-
patible systems and board-level prod¬
ucts that use the Intel 82786 graphics
coprocessor. The D3000 will run pro¬
grams written for DOS; it can be config¬
ured with UNIX V release 3. The system
has seven expansion slots, room for two
removable media devices, and one full-
height fixed media device. The D3000 is
32
PC TECH JOURNAL
Orchid Technology's Jet JH6 16-MI/z accelerator hoard 96 OO/V.JJ Trellis modem from Cermetek Microelectronics
available in OEM quantities. The D2000
series is based on a Multibus II architec¬
ture; it runs both UNIX V release 3 and
Common Lisp. The product line in¬
cludes a single-user system featuring a
high-resolution display with advanced
windowing capabilities and a multi¬
access knowledge server and a multi¬
user computer. D3000, $5,000 to
$10,000; D2000, prices are not yet
available from the company.
Mad Intelligent Systems, 2950 Zanker
Road, San Jose, CA 95134;
408/943-1711
CIRCLE 302 ON READER SERVICE CARD
An 80386-based system has been re¬
leased by Zenith Data Systems. The
Z-386 PC has a 32-bit memory bus and
operates at 16 MHz with zero wait
states. It features memory paging, burst¬
mode refresh, which increases system
speed by refreshing multiple rows of
memory at once; optional cache control¬
ler board; and Zenith ROM for video
operations (for speed). The Z-386 PC
has 10 bus slots (six open), a diskette/
Winchester controller, serial and paral¬
lel ports, and sockets for 80287 or
80387 numeric coprocessors; it will sup¬
port two Winchester disks and two dis¬
kette drives. Z-386 Model 40 (with 40MB
hard-disk drive and 1.2MB diskette
drive), $6,499; Z-386 Model 80 (with
80MB hard disk drive), $7,499.
Zenith Data Systems, 1000 Milwaukee
Avenue, Glenview, II 60025;
312/391-8860
CIRCLE 303 ON READER SERVICE CARD
Orchid Technology has introduced
Jet 386, a 16-MHz 80386 accelerator
board. Designed for the PC/AT, Jet 386
is compatible with software written for
both the 80286 and 80386. The Jet 386
board replaces the 80286 in the AT,
which then plugs into an adapter for the
accelerator board. Users can toggle be¬
tween the two modes. The Jet 386 also
supports both 80287 and 80387 numeric
coprocessors. A 32-bit bus width and
64KB of on-board cache memory are
also included. $1,499.
Orchid Technology, 47790 Westing-
house Drive, Fremont, CA 94539;
415/490-8586
CIRCLE 304 ON READER SERVICE CARD
An 80386 accelerator board for the PC,
PC/XT, and PC/AT is available from
Applied Reasoning Corporation. The
PC-elevATor 386 runs in an 8088,
8086, or 80286 machine. It runs an Intel
80386 at a 16-MHz, zero wait state, with
a 32-bit bus, and includes 1MB of on¬
board, high-speed RAM (100 nanosec¬
onds) expandable to 16MB with daugh¬
terboards. An 80287 or 80387 numeric
coprocessor can be added. The board
installs into a full expansion slot without
removing the machine's processor; it
works in tandem with the processor, us¬
ing it to handle I/O. $1,995.
Applied Reasoning Corporation, 86
Sherman Street, Cambridge, MA 02140;
617/492-0700
CIRCLE 305 ON READER SERVICE CARD
Sigma Designs, Inc. has announced
Laserview Display System, a package
that includes a high-resolution adapter
Izisert'iew Display System by Sigma Designs. Inc
board and a 15-inch or 19-inch mono¬
chrome monitor both w ith a display of
1,664 dots by 1,200 lines. Both are land¬
scape-mount and have paper-white
phosphor screens. They feature a scan
frequency of 74.5 KHz and a refresh rate
of 60Hz, in noninterlaced mode. The
resolution provided by the 15-inch and
19-inch monitors is 150 and 110 dpi
(dots per inch) respectively. This resolu¬
tion combines with four shades of gray
to produce a perceived resolution that
is close to 300 dpi. Adapter with 19-inch
monitor, $2,395; with 15-inch monitor,
$1,895; adapter alone, $1,150.
Sigma Designs, Inc., 46501 landing
Parkway, Fremont, CA 9453d;
415/770-0100
CIRCLE 317 ON READER SERVICE CARD
Cermetek Microelectronics has an¬
nounced its 9600/V.32 Trellis Modem.
The CCITT V.32 specification permits
9600-bps operation at full duplex over a
wide range of telephone lines present
in the general switched telephone net¬
work. The V.32 modem offers synchro¬
nous and asynchronous operation. Dur¬
ing dialing, the modem can monitor call
progress electronically with either ver¬
bose or terse prompts, or audibly with a
built-in speaker. Another dialing en¬
hancement includes resident nonvolatile
memory for ten 40-character telephone
numbers. It supports the GSTN (general
switched telephone network) and 2- or
4-wire, leased-line operation and offers
more reliable data transfer than certain
CCITT V.29, 9600 half-duplex modem
installations. Trellis coding is a far-end
correcting scheme that transmits redun¬
dant bit information simultaneously with
the data bits. This scheme provides the
error correcting and is accomplished
without impacting the 9600- or 4800-bps
data rate bandwidth. $2,999.
Cermetek Microelectronics, Inc., 1308
Borregos Avenue, Sunnyvale, CA 94088-
3565; 408/752-5000
CIRCLE 318 ON READER SERVICE CARD
Two internal modems, the Quad 1200
and Quad 2400, are the first offerings
of Omnitel, Inc. in its NetComm
product line. This series is designed for
use in LANs and PC-based remote infor-
FEBRUARY 198'
33
TECH RELEASES
Magic PC applications generator from Aker Corporation
mation and database services. A modem
server based on the Quad card provides
pooling of 4, 8, 16, or more indepen¬
dently addressable modems for shared
access by all LAN users. With a Quad
board and a PC/AT, users can set up
their own dial-in information services.
Quad and dual configurations are avail¬
able for 1200-bps and 2400-bps speed.
The Quad modem board may be used
with multiuser systems based on the AT,
PC/XT, and the RT PC using XENIX, AIX,
PC/EX, or other UNIX software. Quad
1200, $1,249; Quad 2400, $1,799.
Omnitel, Inc., 5415 Randall Place, Fre¬
mont, CA 94538; 800/654-2785; in Cal¬
ifornia, 800/233-2202
CIRCLE 308 ON READER SERVICE CARD
Dastra America’s MU/FO is a multi¬
user office hardware/software package
that supports as many as nine users on a
single PC/XT or PC/AT. The RAM-resi¬
dent assembly code operating system al¬
lows users to input data, create reports,
and perform and develop application
programs simultaneously. Three-, five-,
and nine-user systems are available.
MU/FO contains conversion utilities for
Ashton-Tate’s dBASE n and dBASE m file
importation. Other features include rec¬
ord lockout, automatic backup, and 16
password security levels. In its maxi¬
mum configuration, the system supports
eight terminals and printers, six hard
disks, and a tape drive. DOS programs
cannot be run concurrently with MU/
FO. Prices range from $249 to $1,395.
Dastra America, 976 N. Lemon, Orange,
CA 92667; 800/843-5087; in California,
714/633-2275
CIRCLE 316 ON READER SERVICE CARD
GammaLink has announced that its
GammaFax, a PC-to-facsimile commu¬
nications package that enables PC users
to send documents directly from PCs to
any CCITT group 3 facsimile machine,
now offers a high-speed, PC-to-PC file
transfer capability. The enhanced
MU/FO, a multiuser office system from Dastra America
GammaFax package allows users to
send DOS files, including ASCII docu¬
ments, over telephone lines at speeds as
high as 9,600 bps. GammaFax can route
multiple documents in a single trans¬
mission, transmit combinations of docu¬
ments to different sites, store and for¬
ward, and broadcast documents to dif¬
ferent sites. $995.
GammaLink, 2452 Embarcadero Way,
Palo Alto, CA 94303; 415/856-7421
CIRCLE 312 ON READER SERVICE CARD
FX-BM88 Facsimile Board, an add-on
card from Panasonic Industrial Com¬
pany, allows microcomputers to send
and receive documents to and from
CCITT group 3 facsimile machines. With
the FX-BM88, the user can edit and send
a file or scanned image to a facsimile
machine; a document received from a
facsimile machine can be viewed and
edited on screen, then output to a dot¬
matrix or laser printer. $1,000.
Panasonic Industrial Company, One
Panasonic Way, Secaucus, NJ 07094;
201/348-7000
CIRCLE 313 ON READER SERVICE CARD
Corvus Systems, Inc. has announced a
high-performance file server that em¬
ploys the Intel 80386. The Series 80386
consists of a PC/AT-compatible work¬
station, 2.5MB of RAM, and the choice of
a 70MB or 126MB hard-disk drive. The
Series 80386 uses a 32-bit bus with eight
expansion slots when running Novell
Advanced NetWare 2.0a. With 70MB,
$16,595; 126MB, $19,795.
Cowus Systems, Inc., 160 Great Oaks
Blvd., San Jose, CA 95119-1347;
408/559-7000
CIRCLE 306 ON READER SERVICE CARD
PLUS4, an expansion subsystem that al¬
lows users to create microcomputer
clusters of five users has been intro¬
duced by Alloy Computer Products,
Inc. A complete five-user system built
using PLUS4 requires only one host
computer equipped with a hard disk
and four terminals. PLUS4 includes
NTNX Novell-compatible multiuser sys¬
tem software, tape backup, and four Al¬
loy pc-slave/16 boards that provide each
user with an individual NEC V20 proces¬
sor and 1MB of memory. $5,495.
Alloy Computer Products, Inc., 100
Pennsylvania Avenue, Framingham,
MA 01701; 617/875-6100
CIRCLE 307 ON READER SERVICE CARD
Epson America, Inc. has entered the
laser printer market with the GQ-3500.
The printer comes equipped with
640KB of memory and has a second
generation engine that make possible
the compact size of the printer (15.9 by
8.5 by 16.5 inches). The GQ-3500 fea¬
tures a 45-second warm-up time and a
first-page-printing time of between 22
and 25 seconds with an overall speed of
six pages per minute. Users have access
to seven built-in fonts by pushing a but¬
ton on the control panel. The printer
engine’s life is rated at 180,000 pages.
GQ-3500, $2,495; toner cartridge, $29.
Epson America, Inc., Computer Products
Division, 2780 Lomita Blvd., Torrance,
CA 90505; 800/421-5426; in California,
213/539-9140
CIRCLE 320 ON READER SERVICE CARD
SOFTWARE
Aker Corporation has introduced an
application generator, called Magic PC,
that requires no programming language
to design applications. The entire pro¬
cess of implementing an application
with Magic PC is one of filling in execu¬
tion tables and data dictionaries. The de¬
signer interfaces with these tables by
highlighting selections from pop-up,
menu-driven windows. Each entry in the
execution table is an operation that ma¬
nipulates data in a true, relational data¬
base environment. A zooming capability
allows the applications user to probe
34
PC TECH JOURNAL
BOOKMARK ™ Data Protection Software
Automatically marks your place so you can resume where you left off.
Runs with most software so if you decide to call it a day you can power down, and upon restart
BOOKMARK will bring you back where you left off...it’s like having a BOOKMARK in your computer!
Stop wasting time navigating through menus . . . or teaching novices.
Easy to use. You choose how often work is saved, by number of keystrokes or length of time.
Work in progress can be resumed within seconds after system crash, power failure, accidental
reset or power down.
Costly battery backup systems are no longer needed when work in progress is already saved to the
point of the previous BOOKMARK placement.
BOOKMARK is a memory-resident utility that automatically and periodically saves work in
progress to a reserved area of the hard disk.
Suggested Retail Price $69.95 Requirements:
IBM PC/XT/AT or 100% Compatible
64k to 640k
IBM DOS 2.1 or Higher
1 Floppy Disk Drive • Hard Disk Drive (10 Megbytes Minimum)* Video Display Adapter, IBM (Monochrome, Color, Enhanced Color). Hercules, AST
(BOOKMARK occupies an equivalent space on hard disk as in system RAM plus video RAM)
To Order, Call INTELLISOFT International or Ask Your Dealer for BOOKMARK
INTELL.ISOFT
IIMTERIMATIOIMAL
Call Toll Free (800) 544-MARK • In California Call Toll Free (800) 543-MARK
70 Digital Drive • P.O. Box 1972-Novato, California 94948-(415) 883-1188
BOOKMARK™ is a trademark of INTELLISOFT International. Copyright© 1986 by INTELLISOFT International. All rights reserved.
IBM PC/XT/AT are registered trademarks of International Business Machines Corporation. Hercules is a trademark of Hercules Computer Technology.
AST is a registered trademark of AST Research, Inc.
CIRCLE NO. 114 ON READER SERVICE CARD
TECH RELEASES
Graph produced by Borland's Numerical Method Toolbox DESQview from Quarterdeck Office Systems
deep into the application through
nested windows. Magic Run enables
stand-alone operation at runtime. Magic
PC Trial (limited to 100 records),
$19.95; Magic PC (with unlimited users
in a LAN), $695; Magic Run, $95 each
(available in two-packs only).
Aker Corporation, 18007 Skypark Circle
Drive, Suite B2, Innne, CA92714;
714/250-1718
CIRCLE 330 ON READER SERVICE CARD
Microsoft Corporation and Phoenix
Technologies Limited have an¬
nounced agreements to strengthen
Phoenix’s custom OEM-level engineer¬
ing support of Microsoft’s systems soft¬
ware, including MS-DOS, XENIX System
V/386, and Windows. Under the terms of
the agreement Phoenix will develop its
80386-based VP/ix virtual PC environ¬
ment for Microsoft’s XENIX System
V/386 multiuser operating system, and
license MS-DOS 3-2 from Microsoft and
offer it to Phoenix’s VP/ix OEM custom¬
ers as part of the VP/ix offering. Prices
are unavailable.
Microsoft Corporation, 16011 N.E. 36th
Way, P.O. Box 97017, Redmond, WA
98073-9717; 206/882-8080
CIRCLE 325 ON READER SERVICE CARD
Phoenix Technologies Limited, 320 Nor¬
wood Park S, Norwood, MA 02062;
617/769-7020
CIRCLE 326 ON READER SERVICE CARD
A BASIC language development environ¬
ment, Turbo Basic, has been an¬
nounced by Borland International.
Turbo Basic offers full 8087/80287 nu¬
meric coprocessor support, which gen¬
erates in-line coprocessor instructions.
Built-in conversion functions take
BASICA floating-point data and convert
it to IEEE floating-point format. Pro¬
grams that use integer mathematics have
a 32-bit-long integer data type. Other
features include pull-down menus; con¬
text-sensitive help; and window manage¬
ment (including user-controllable size,
color, and placement), with separate
windows for editing, messages, tracing,
and program execution. The compiler,
editor, and executable programs are
fully integrated and the program text
can be output either to a window or to
the full screen. $99.95.
For engineers and scientists, Bor¬
land has introduced Eureka: The
Solver, a software tool for problem
solving. The user writes an equation,
Menu screen from Borland’s Eureka. The Solver
sets options, and instructs the software
to solve the problem. The package also
evaluates and displays the accuracy of
the solution. Equations, solutions, and
evaluations are accessible through sepa¬
rate windows on the computer screen.
Eureka: The Solver fully supports the
8087 numeric coprocessor. $99.95.
Numerical analysis is addressed in
Borland’s Numerical Methods Tool¬
box. This package is a collection of
Turbo Pascal routines and programs,
each with an accompanying demonstra¬
tion program example. Comprised of 10
modules, the Toolbox provides the fol¬
lowing number-crunching abilities: End¬
ing solutions to equations, interpola¬
tions, calculus with numeric derivatives
and integrals, matrix operations includ¬
ing inversions, determinants, eigen¬
values, differential equations, least-
square approximations, and fast Fourier
transforms. The generic procedures
contained in each module can be modi¬
fied and included in the user’s own pro¬
grams. Complete source code is in¬
cluded with the Toolbox. $99.95.
Borland International, 4585 Scotts Val¬
ley> Drive, Scotts Valleys CA 95066;
408 / 438-8400
CIRCLE 321 ON READER SERVICE CARD
Quarterdeck Office Systems has in¬
corporated virtual 8086 machine archi¬
tecture support for the Compaq Desk-
pro 386 into DESQview 1.3, a multi¬
tasking operating environment. The vir-
tual-86 mode permits 8088/86 code to
be executed within the protected and
paged environment provided by the
80386 and permits these programs to
run simultaneously, as if they were in
their own 1MB machine. DESQview 1.3
also improves the efficiency of high¬
speed—4800 or 9600 bps—communica¬
tion programs running in DESQview. To
be released in February is version 2.0
of DESQview, which will increase the
capabilities of 1.3 as well as add En¬
hanced Graphics Adapter (EGA) support
and a DESQview Application Program
Interface. Also, a runtime version will be
available in conjunction with release 2.0.
DESQview 1.3, $99-95; 1.21 upgrade to
1.3, $19.95; DESQview 2.0, $129.95; 1.3
upgrade to 2.0, $30.00.
Quarterdeck Office Systems, 150 Pico
Blvd., Santa Monica, CA 90405;
213/392-9851
CIRCLE 324 ON READER SERVICE CARD
Version 3.1 of watcom BASIC, a lan¬
guage interpreter, is now available from
watcom Products, Inc. Enhanced fea¬
tures include: the watcom Graphics Ker¬
nel System (GKS), indexed file process¬
ing, additional capability for parameters
of procedures and functions, and sev¬
eral business and scientific program ap¬
plications. $250.
watcom Products, Inc., 415 Phillip Street,
Waterloo, Ontario, Canada N2L 3X2;
519/886-3700
CIRCLE 327 ON READER SERVICE CARD
36
PC TECH JOURNAL
I JIASKR PLUS
with combination
interface?
Other ingred
1 PC, XT, or AT st
computer
l Canon-ha sed 30l
1 Canon IX-I2.W
It makes desktop publishing
a piece of cake!
Tall Tree Systems
introduces another
breakthrough in desk¬
top publishing with
JLASER PLUS. We've
combined a 2 MB
EMS memory board
and an interface to
both a Canon®-based
laser printer and
scanner. JLASER PLUS
increases the perfor¬
mance of both devices
and gives you a low-
cost solution to the
limitations you've been
experiencing with
them.
Furthermore, the
same memory that is
made available to
your printer and scan¬
ner is also available for
all your other conven¬
tional applications.
You get system mem¬
ory, expanded LIM
memory, extended
memory in an AT-type
machine, RAM Disk
and print spooler —
all in a single slot!
Supporting JLASER
PLUS is a host of soft¬
ware packages, such
as PC Paintbrush +
Tall Tree
Systems to
provide a mayor
advancement like
JLASER PLUS. And
we don't stop at
performance. We also
deliver value, which is
truly icing on the cake.
from
ZSoft,
Dr. Halo D.P.E.
from Media Cyber¬
netics, LaserGL from
Software Express,
Ventura Publisher from
Xerox, Page Builder
from White Sciences,
Le Print from Le Baugh
Software, Fancy Font
and Fancy Word from
SoftCraft, Inc., and
Canon is a registered trademark of Canon, Inc. Ail software packages listed are trademarks of their respective companies.
TALL TREE SYSTEMS
1120 San Antonio Road
Palo Alto, CA 94303
(415) 964-1980
many more
to be announced.
It takes a techno¬
logical innovator like
CIRCLE NO. 194 ON READER SERVICE CARD
© 1986 by Tail Tree Systems. All rights reserved.
LaserControlfrom Insight Dei'elopment Corporation
Screen sfjot from T&W Systems’ VersaCAD DESIGNER
Intel Corporation has extended its
software development support of the
80386 system to PC hosts with the intro¬
duction of a C language compiler and
utilities package for the PC/AT running
DOS 3.0 or later. The C 386 Compiler
and the RLL 386 Relocation, Linkage,
and Library Tools package are the in¬
dustry’s first development tools for PC
hosts. The DOS tools can be used on
stand-alone PCs and on PCs linked via
the Intel OpenNET network with other
PCs or with VAX and MicroVAXT com¬
puters. C 386, $900; RLL 386, $600.
Intel Corporation, Literature Depart¬
ment W338, 3065 Bowers Avenue, P.O.
Box 58065, Santa Clara, CA 95052-
8065; 503/681-2279
CIRCLE 323 ON READER SERVICE CARD
Corvus Systems, Inc. has released a
network operating system for its Omni-
net LAN. Designated PC/NOS, it permits
networks to be created without hie serv¬
ers, but still supports the PC-DOS 3.1
hie- and record-locking calls. PC/NOS
has complete access security control for
nodes, peripherals, directories, and hies.
When hie servers are needed, PC/NOS
supports multiple servers. For 64
users, $695.
Corvus Systems, Inc., 160 Great Oaks
Blvd., San Jose, CA 95119-1347;
408/559-7000
CIRCLE 322 ON READER SERVICE CARD
BABY/36 from California Software
Products, Inc., now permits develop¬
ment and execution of RPG II programs
on the PC and PC networks. Release
3.4 updates the product to the latest
version of IBM’s System/36 operating
system: System Support Program (SSP)
4.0. Included are new conditional oper¬
ations and program loops: CASE, DO,
DO.. .UNTIL, DO.. .WHILE, and
IF.. .THEN.. .ELSE. Stand-alone systems
range from $700 for execution-only ver¬
sions to $3,500 for complete RPG II de¬
velopment and execution systems. LAN
versions range from $1,500 to $4,500,
plus $100 per linked device; upgrades at
no charge to existing customers.
California Software Products, Inc., 525
N. Cabrillo Park Drive, Santa Ana, CA
92701; 714/973-0440
CIRCLE 328 ON READER SERVICE CARD
T&W Systems, Inc. has announced a
complete design station, VersaCAD
designer. Together with the power of
VersaCAD 5.0, VersaCAD designer offers
three-dimensional design, color shad¬
ing, automatic extrusion, a variety of dis¬
play modes, built-in primitives, and
complete programmability. All designs
can be moved between two- and three-
dimensional models using a single main
menu. VersaCAD designer offers two-
way communications links to other soft¬
ware using recognized standards of
protocol. $2,995.
T&W Systems, Inc., 7372 Prince Drive,
Suite 106, Huntington Beach, CA
92647; 800/228-2028, ext. 85; in Cali¬
fornia, 714/847-9960
CIRCLE 331 ON READER SERVICE CARD
An application development environ¬
ment for the Intel 80386, Merge 386
has been announced by Locus Com¬
puting Corporation. Merge 386 allows
the system to simultaneously, and trans¬
parently, execute both UNIX and DOS
operating systems. Users can have sev¬
eral DOS and UNIX programs executing
concurrently. Other benehts included
are password security and hie protec¬
tion for DOS, record-level access to the
same hies by both operating systems,
UNIX programs invocable from DOS
programs, named-pipe support for inter¬
process communication between UNIX
and DOS, and DOS programs transpar¬
ently invocable from UNIX programs.
Merge 386, $500.
Locus Computing Corporation, 3330
Ocean Park Blvd., Santa Monica, CA
90405; 213/452-2435
CIRCLE 335 ON READER SERVICE CARD
Version 2.2 of LaserControl, a utility
package for Hewlett-Packard laser print¬
ers, is available from Insight Develop¬
ment Corporation. LaserControl en
ables the HP LaserJet to work with most
IBM PC software. The program provides
seven printer emulations: Diablo 630;
Qume Sprint 5; NEC 3550, 5510, and
7710; Epson MX-80; and IBM Graphics
Printer. This program allows any soft¬
ware that supports these printers to be
used with the HP LaserJet. Besides
printer emulation, LaserControl pro¬
vides menu-driven control of the laser
printer. Through the menu, users can
choose the page layout, fonts, margins,
number of lines per page, paper size,
paper tray, and other options. Laser-
Control can be utilized as a memory-
resident, pop-up program or a standard
DOS application. $150.
Insight Development Corporation, 1024
Country Club Drive, Suite 140, Moraga,
CA 94556; 415/376-9451
CIRCLE 332 ON READER SERVICE CARD
Prospero Software has made available
Pro Fortran-77, which is a complete
implementation of the ANSI X3.9-1978
standard, generally referred to as
FORTRAN 77. The software consists of
the compiler, runtime libraries, link edi¬
tor, librarian program, conhguration
utility, and symbolic debugger. The two-
pass compiler converts a source hie
containing one or more program units
into binary machine code in standard
Intel object format. Runtime libraries
contain the routines needed to support
execution of object programs. The li¬
braries are provided in versions for
small and large models, with and with¬
out the use of an 8087 numeric copro¬
cessor. Pro Fortran-77, $149.
Prospero Software, 190 Castelnau, Lon¬
don SW13 9DH, England; 011-441-741
8531 • U.S. Distributor: Software Consult¬
ing Sendees, 3162 Bath Pike, Nazareth,
PA 18064; 215/837-8484
CIRCLE 338 ON READER SERVICE CARD
38
PC TECH JOURNAL
Illlll
TALL TREE SYSTEMS.
A Technological Innovator
Always a Step Ahead!
For true industry leader- command EMS boards,
ship, look no further than The first with a laser printer
Tall Tree Systems. solution — JLASER — that
We have a history of allows you to do full-page
being first. graphics and multiple type
We were the first to fonts on any Canon® or
introduce bankswitching. Ricoh® laser engine.
The first with two megabyte
memory boards. The first >
with I/O modularity in a f A \
single slot. The first with . _
8 MHz speed capabilities. ■m-f\SSS2 7ALL *
The only maker of single 1120 San Antonio Road • Palo Alto, CA 94303 • (415) 964-1980
CIRCLE NO. 197 ON READER SERVICE CARD
© 1986 by Tall Tree Systems. All rights reserved. IBM. RT are registered trademarks of International Business Machines Corp.
Canon and Ricoh are registered trademarks of Canon Corp. and Ricoh Corp., respectively.
Now, we're first again
with memory expansion for
the IBM®RT.
Innovation is our tradition.
Our trademark is supe¬
rior technology at the lowest
possible price.
TECH RELEASES
dBXL, WordTech Systems' database manager
A menu-driven, hard-disk-based total
system manager called SNAP has been
introduced by the Mt. Whitney Group.
This product boasts over 200 features
that give the user the functions of many
programs executable in one or two key¬
strokes. SNAP allows the user to create
unlimited, customized windows that can
be deeply nested. Menus can be se¬
lected (alphabetically or free-form),
mixed, and moved; password protection
can be given to any menu or menu
item. SNAP will copy, delete, move, ren¬
ame, format, sort, view, edit, tag, untag,
encode, or decode any hie in any direc¬
tory on any drive. Complete editing and
printing features are included as well as
high-speed viewing and auto-scrolling.
SNAP analyzes a system’s hardware and
will display more than 35 drive and
computer statistics. $99
Mt. Whitney Group, 11612 Knott Ave¬
nue,, Building G-19, Garden Grove, CA
92641; 800/992-4992 , in California,
800/624-7355
CIRCLE 333 ON READER SERVICE CARD
A true, three-dimensional design and
drafting package is being offered by
CalComp Systems Division Solid •
Vision allows users to design in three
dimensions and revise that design as of¬
ten as necessary; it also provides the
ability 7 to see a design in plan, elevation,
section, or perspective and to produce
drawings, model design, and presenta¬
tion images—all from one model. Solid
Vision uses boundary representation
and boolean technology. All coordinate
data are stored in floating-point format,
providing six digits of numerical accu¬
racy. Stand-alone, $3,500; bundled with
cadvance, $4,995.
CalComp also is offering version
1.3 of cadvance, a two-dimensional
CAD system. Added features include full
digitizer tablet menu support, enhance¬
ments to cadvance’s Macro Program¬
ming Language, application specific
commands, and inclusion of the pre-
Design created using CalComp's CAD package, Solid Vision
viously optional 3D projections, which
allows the user to produce oblique,
isometric, and perspective projections
quickly and automatically. $2,500.
CalComp Systems Division, 2411 W. In
Palma Avenue, Anaheim, CA 92801;
714/821-2142
CIRCLE 329 ON READER SERVICE CARD
Micro Data Base Systems, Inc.
(mdbs) has made available version
1.1 of its expert system environment,
GURU. The enhanced expert system ca¬
pabilities of GURU allow users to pro¬
cess mdbs’s KnowledgeMan/2 and Ash¬
tonTate’s dBASE ii or dBASE m plus hies as
if they were GURU hies. GURU can ac¬
cess Lotus 1-2-3 spreadsheets directly as
well. Other enhancements include
GURU’s knowledge tree and case-saving
features. The knowledge tree allows de¬
velopers to view a diagram of a rule set
showing the relationships among vari¬
ables, rules, and goals. The case-saving
feature allows developers to save (and
later replay) expert system consulta¬
tions. Version 1.1 allows multiple hring
of rules within the same consultation.
Single-user system, $6,500; upgrades at
no cost for purchases after November 1,
1985, upgrades for purchases prior to
November 1, 1985, $650.
A//cro Data Base Systems, Inc., P.O. Box
248, Lafayette, IN 47902;
800/344-5832; in Indiana,
317/463-2581
CIRCLE 334 ON READER SERVICE CARD
Opt-Tech Data Processing has intro¬
duced Opt-Tech Soft 3.0, a high-per¬
formance assembly language sort/
merge/select utility. Major added fea¬
tures include record selection, record
reformatting, comma-delimited hies,
support for AshtonTate’s dBASE m, dy¬
namic memory allocation, alternate col¬
lating sequences, expanded hie options,
unlimited number of input hies, and
new parameter options. Opt-Tech Sort
is callable from 25 languages or can be
run as a DOS utility (either stand-alone
or batch hie). Version 3.0 supports un¬
limited hie sizes of most types including
hxed length, variable length, random,
dBASE, and Btrieve. $149.
Opt-Tech Data Processing, P.O. Box 678,
Zephyr Cove, NV 89488; 702/588-3737
CIRCLE 339 ON READER SERVICE CARD
A version of the theos multiuser, multi¬
tasking operating system for the Intel
80386 has been released by theos.
theos 386 will initially address up to
16MB of memory and support 32 users
in a multiuser environment. THEOS is
complemented by comprehensive
BASIC, C, and assembly languages. The
languages feature a bridge allowing soft¬
ware developed under one micropro¬
cessor version of theos to be translated
and run under newer theos versions,
including theos 386.
THEOS, 201 Lafayette Circle, Suite 100,
Lafayette, CA 94549-4370;
415/283-4290
CIRCLE 336 ON READER SERVICE CARD
A work-alike to AshtonTate’s dBASE m
plus has been announced by WordTech
Systems. The dBXL database manager,
which is not copy protected, offers full
hie syntax compatibility with dBASE m
plus and brings new commands to the
dBASE language, thus allowing users to
create true windows within their pro¬
grams. Other features include DOS
compatibility, an improved user inter¬
face, a menu-driven assist feature, and
several levels of on-line help. WordTech
has assembly code compiler and hie
server support for dBXL. $169.
WordTech Systems, Inc., P.O. Box 1747,
21 Altarinda Road, Orinda, CA 94563;
415/254-0900
CIRCLE 337 ON READER SERVICE CARD 1 "limimi ffi]
The material that appears in Tech Releases is
hosed on vendor-supplied information. These
products have not been reviewed by the PC
Tech Journal editorial staff.
40
PC TECH JOURNAL
Your Quality Connection
•III V; V;Vj
When you need programmer's development
tools, Programmer's Connection is your
best one-stop source. We’ve specialized
in development software for IBM personal
computers since 1984 and are experienced
in providing a full range of quality products j
and customer services.
Unbiased Advice. Our friendly^ non¬
commissioned salespeople are always
prepared to assisf^ou. We alshbave
experienced technical consultants who
can answer questions, help you compare
products and send youidetailed product
information tailored to your needs. Since
we’re not affiliated withany software
publisheror manufacturer, we'll give you
an unbiased look at the products we carry.
High Quality. We stock hundreds of high
quality software development tools
specifically for IBM personal computers
and compatibles. And as new products
become available, well sell only those
that meet our high standards for quality
and value.
Wlaradacl^^ ^Mteftfcar.odu cts we
sell are the latest versions and come with
the same t echnica l support as if buying
d i rectly+rd m'th eYtrarn uf actu
Return Guarantees. Our goal js customer
satisfaction and that's why we offer a
30-day documentation evaluation period
ora 30-day return guarantee on most of our
products. Please call for specific details.
Immediate Shipment. Most products are
in stock and are ready for shipment from
our large inventory.
Discounts. You'll save money on all of your
software purchases from Programmer's
Connection. Our ads show both the discount
and retail prices m each product so you'll
always know exactly how much you'll save.
FI
Credit Cards. We'll charge your credit
card at the time we ship your order. Other
companies may charge your credit iard
at {he time they take your order so they
can use your money interest-free while
yeti wait for your shipment.
FREE Shipping. Shipping is FREE j fatnu
have your order shipped via standard
UPS anywhere in the USA. We can also
express your order to you with no special
fees and we'll only charge you die Shipping
carrier's standard rate. Many other
companies profit from overcharges plus
special fees for express shipments.
No Sales Tax. Customers outside of,
are not charged state sales tax*,
No Hidden Charges. Quite simply, the
prices you see on die next two pages are
all you pay. We don't charge extra for
standard UPS shipping, crejplfrds,
COD orders, purchase orders or
When youbuyfrom Progragjier'sf^
Connection, you get all of the benefits v
of buying directly from the manufacturer
and none of the drawbacks. So call us
today and discover the advantages of . w
our one-stop service for yourself. Yow|l
be glad you did!
Turn the page for our latest advertised
; price list and ordering information.
Sale prices effective through 2/28/87.
apl language
APL*PLUS/PC by STSC . 595 429
APL * PLUS/PC Spreadsheet Mgr by STSC . 195 139
APL*PLUS/PC Tools Vol 1 by STSC .... 295 199
APL*PLUS/PC Tools Vol 2 by STSC . . . . 85 59
APL*PLUS/UNX For AT XENIX by STSC . . . 995 695
Btrieve ISAM File Mgr by SoftCraft . 245 194
Financial/Statistical Library by STSC . . . 275 195
Pocket APL by STSC . 95 69
STATGRAPHICS by STSC . 795 579
artificial intelligence
1 st - Class by Programs in Motion . 495 399
APT from Solution Systems . 65 CALL
Arity Combination Package. 1225 1139
Expert System Development Pkg. . . . 295 259
File Interchange Toolkit. 50 45
PROLOG Compiler & Interpreter .... 795 699
Screen Design Toolkit. 50 45
SQL Development Package. 295 259
Arity PROLOG Interpreter. 350 309
Arity Standard Prolog. 95 79
kuto\nte\\\qence by Intelligence Ware . 990 CALL
ExpertEDGE Advanced by Human Edge . . . 2500 CALL
ExpertEDGE Professional by Human Edge . . 5000 CALL
Experteach II by IntelligenceWare . 475 359
EXSYS Development Software by EXSYS . ... 395 319
EXSYS Runtime System. New 600 479
GCLISP Golden Common LISP by Gold Hill. . . 495 CALL
GCLISP 286 Developer by Gold Hill . 11 90 CALL
Insight 1 by Level Five Research . 95 75
Insight 2+ by Level Five Research . 485 379
Intelligence/Compiler IntelligenceWare .. . 990 749
Logic-Line Series 1 by Thunderstone .... 90 85
Logic-Line Series 2 by Thunderstone .... 125 115
Logic-Line Series 3 by Thunderstone .... 150 139
LPA microPROLOG by Prog Logic Systems . . 99 89
with APES. 149 129
LPA Professional microPROLOG. 395 339
with APES. 650 469
Microsoft LISP Common LISP . 250 163
MPROLOG Language Primer LOGICWARENew 50 45
MPROLOG P500 by LOGICWARE . New 495 395
MPROLOG P550 by LOGICWARE . New 220 175
PC Scheme by Texas Instruments . 95 85
Personal Consultant Easy by Tl . 495 439
Personal Consultant Plus by Tl . 2950 2599
Personal Consultant Runtime. 95 85
PROLOG-2 Interpreter by ESI . 450 419
PROLOG-2 Interpreter and Compiler. . . . 895 839
QNIAL by NIAL Systems . 375 349
TransLISP from Solution Systems . 95 CALL
Turbo PROLOG Compiler by Borland Inti. . . 100 65
assembly language
386 ASM/LINK Cross Asm by Phar Lap . . . 495 CALL
8088 Assembler wlZ-80 Trans by 2500 AD. 100 89
ASMLIB Function Library by BC Assoc .... 149 129
asmTREE B Tree Dev System by BC Assoc. . . 395 339
Cross Assemblers Various by 2500 AD . . . CALL CALL
Microsoft Macro Assembler. 150 95
Norton Utilities by Peter Norton . 100 59
Turbo EDITASM by Speedware . 99 84
Uniware Cross Assemblers Various by SDS 295 249
Visible Computer: 8088 Software Masters . 80 65
basic language
BetterBASIC by Summit Software.
8087 Math Support.
Btrieve Interface.
C Interface.
Run-time Module.
EXIM Services Toolkit by EXIM.
Finally by Komputerwerks .
Inside Track from Micro Help . . .
MACH 2 by Micro Help .
Microsoft QuickBASIC.
87 QB Pak by Hauppauge . . . .
Peeks 'n Pokes from MicroHelp .
Professional BASIC by Morgan .
8087 Math Support.
Stay-Res by MicroHelp .
True Basic w/BASICA Converter. .
True Basic w/Converter & Run-time
BASICA Converter.
Run-time Module.
Various Other Utilities .
Turbo BASIC by Borland Inti . . . .
blaise products
►ASYNCH MANAGER Specify C or Pascal
Sale
175
119
►C TOOLS PLUS.
Sale
175
119
►EXEC Program Chainer .
Sale
95
65
►LIGHT TOOLS for Datalight C. . . . New,
Sale
100
69
►PASCAL TOOLS.
Sale
125
85
►PASCAL TOOLS 2.
Sale
100
65
►PASCAL TOOLS 8i PASCAL TOOLS 2 .
Sale
175
99
►RUNOFF Text Formatter .
Sale
50
39
►TURBO ASYNCH PLUS.
Sale
100
69
►TURBO POWER TOOLS PLUS.
Sale
100
69
►VIEW MANAGER Specify C or Pascal . .
Sale
275
165
borland products
EUREKA Equation Solver . New 1 00 69
REFLEX 8t REFLEX Workshop. 200 129
REFLEX Data Base System . 150 89
REFLEX Workshop. 70 45
Turbo BASIC. New 100 69
Turbo DATABASE TOOLBOX. 70 47
Turbo EDITOR TOOLBOX. 70 47
Turbo GAMEWORKS TOOLBOX. 70 47
Turbo GRAPHIX TOOLBOX. 70 47
Turbo LIGHTNING. 100 64
Turbo Numerical Methods Library . . New 100 69
Turbo PASCAL and TUTOR. New 125 85
Turbo PASCAL with 8087 and BCD ... . 100 64
Turbo TUTOR. 40 28
Turbo Prolog Compiler. 100 64
Word Wizard. 70 47
Word Wizard and Turbo Lightning. 150 94
C + +
► C+ + by Guidelines w/kernel l.l .... Sale 195 169
c compilers
68000/10/20 Cross Compiler by SDS . . 595 CALL
C86PLUS by Computer Innovations . . . . New 497 CALL
► Datalight C Compiler Small Model . . . Sale 60 45
►Datalight Developer Kit. Sale 99 69
► with LIGHT TOOLS Blaise. ... New, Sale 239 168
DeSmet C w I Debugger . 159 138
DeSmet C w!Debugger & Large Case . 209 184
Eco-C Development System by Ecosoft . 125 83
Lattice C Compiler from Lattice . 500 275
Mark Williams Let's C Combo Pack . New 125 99
Let's C Compiler . 75 57
csd Source Level Debugger . 75 57
Mark Williams MWC-86 . 495 289
► Microsoft C with CodeView . Sale 450 265
► Wizard C Combo by Wizard Systems . . Sate 750 529
► Wizard C Compiler. Sale 450 299
► ROM Development Pkg. Sale 350 259
cinterpreters
► C-terp by Gimpel, Specify compiler .... Sale 300 199
C Trainer with Book by Catalytix . 122 87
► Instant C by Rational Systems . Sale 500 359
Introducing C by Computer Innovations .... 125 CALL
Run/C from Lifeboat . 150 89
Run/C Professional from Lifeboat . 250 169
c utilities
► APT by Shaw American Technology .... Sale 395 259
Basic C Library by C Source . 175 119
► C Essentials by Essential Software . . . Sale 100 65
C-ISAM by Informix . 225 195
C to dBase by Computer Innovations . 150 CALL
► c-tree 8t r-tree Combo by FairCom . . . Sale 650 459
► c-tree ISAM File Manager . Sale 395 279
► r-tree Report Generator . Sale 295 199
► C Utility Library by Essential . Sale 185 119
C Windows by Syscom . 100 85
Wings by Syscom . 50 43
Cl ROMPac by Computer Innovations . 195 CALL
► dbQUERY All Varieties by Raima . Sale CALL CALL
► dbVISTA Single-User DBMS by Raima. . . Sale 195 139
► with Source Code . Sale 495 389
► dbVISTA Multi-User DBMS by Raima . . . Sale 495 389
► with Source Code . Sale 990 779
dBx dBase/C Translator by Desktop Al . 350 314
with Library Source Code . 550 493
Entelekon Combo Package. 200 169
C Function Library. 130 109
C Windows. 130 109
Superfonts for C. 50 43
► Essential Comm Library wlDebugger . Sale 250 159
► Breakout Debugger Any language ..Sale 125 79
► Essential Comm Library. Sale 185 119
Essential Graphics by Essential Software . . 250 195
Flash-up Windows by Software Bottling. . . 90 79
Graphic Mono v2.2 by Sci Endeavors . 280 209
Graphic Color v3.0 by Sci Endeavors . 350 284
GRAFLIB by The Librarian . 175 CALL
Greenleaf Comm Library by Greenieaf ... 185 127
Greenleaf Data Windows by Greenleaf . . . 225 157
with Source Code . 450 295
Greenleaf Functions by Greenleaf . 185 127
HALO by Media Cybernetics . 300 209
HALO Development Pkg for Microsoft . New 595 395
The HAMMER by OES Systems . 195 149
HELP/Control by MDS . 125 109
MetaWINDOWS No Royalties . 185 115
MetaFONTS. 80 58
MetaWINDOWS/Plus by Metagraphics . . . 235 189
MetaFONTS/Plus. 235 189
On-line Help from Opt-Tech Data Proc .... 149 109
PANEL by Round hi I I Computer Systems .... 295 215
PC Lint by Gimpel Software . 139 99
PLOT HI by The Librarian . 1 75 CALL
PLOT HP by The Librarian . 175 CALL
Scientific Subroutine Lib by Peerless. ... 175 138
Vector87 by Vectorplex Data Systems . 150 135
Vitamin C by Creative Programming . 225 CALL
VC Screen Forms Designer . 100 82
Zview by Data Management Consultants . . . 245 189
cobol language
Micro Focus COBOL Workbench. 4000 3379
Micro Focus Level II COBOL. 1500 549
COGRAPHICS. 250 199
COMATH. 200 159
FORMS-2. 300 259
Level II Animator. 900 349
Level II SOURCEWRITER. 2000 CALL
Micro Focus Level II COBOL for Novell . . . 2000 1699
Micro Focus Micro/SPF. 175 149
Micro Focus Professional COBOL. 3000 2295
Multi-user Runtime for PC Network . . . 500 429
Microsoft COBOL See Microsoft Section. . . CALL CALL
Realia COBOL. 995 785
RM/COBOL by Ryan-McFarland . 950 639
RM/COBOL 8X by Ryan-McFarland . 1250 895
debuggers & profilers
386 DEBUG Cross Debugger by Phar Lap >. . . 195 129
Advanced Trace-86 by Morgan Computing. . 175 125
Cl Probe by Computer Innovations . 225 CALL
Codesifter Profiler by David Smith . 119 94
Codesmith-86 by Visual Age . 145 99
DSD86 by Soft Advances . 70 61
DSD87 by Soft Advances . 100 79
MiniProbe by Atron . New 395 CALL
Periscope I by The Periscope Company .... 295 239
Periscope II wlNMI Breakout Switch . 145 107
Periscope ll-X Software only . 115 84
The PROFILER with Source Code by DWB .. 125 89
The WATCHER Profiler by Stony Brook ... . 60 51
forth language
CFORTH Native Code Compiler by LMl .... 300 229
Forth/83 Metacompiler Specify Target . . . 750 599
PC / Forth by Laboratory Microsystems . 150 109
PC/Forth + by Laboratory Microsystems . . . 250 199
Advanced Color Graphics Support ... 100 74
Enhanced Graphics Support. 200 148
Intel 8087 Support. 100 74
Interactive Symbolic Debugger. 100 74
Native Code Optimizer. 200 148
PCTERM Modem Pgm for Smartmodem . . 100 74
Software Floating Point. 100 74
UR/Forth by Laboratory Microsystems . 350 279
Object Module Libraries. 500 395
Source Code License. 1500 995
fortran language
50 MORE: FORTRAN by Peerless Engr ... 125 99
ACS Time Series Alpha Computer Service . . 495 399
Btrieve ISAM File Mgr by SoftCraft . 245 194
Essential Graphics by Essential Software . . 250 195
For-Winds Alpha Computer Service . 90 69
Forlib-Plus Alpha Computer Service . 70 49
FORTLIB by The Librarian . 95 CALL
FORTRAN Addenda by Impulse Engr . 95 85
FORTRAN Addendum by Impulse Engr. ... 165 139
GRAFLIB by The Librarian . 175 CALL
HALO by Media Cybernetics . 300 209
I/O PRO i v/No Limit Library by MEF . 390 349
Microcompatibles Combo Package .... 240 219
Grafmatic. 135 119
Plotmatic. 135 119
Microsoft FORTRAN Compiler. 350 204
No Limit by MEF Environmental . 129 115
PANEL Screen Designer by Round hi I I . 295 215
PLOTHI by The Librarian . 175 CALL
PLOT HP by The Librarian . 175 CALL
RM/FORTRAN Ryan-McFarland . 595 CALL
Scientific Subroutine Lib by Peerless. ... 175 138
Statistician Alpha Computer Service . 295 245
Strings 8t Things Alpha Computer Service. . 70 51
Vector87 by Vectorplex Data Systems . 150 135
lattice products
Lattice C Compiler from Lattice . 500 275
with Library Source Code . 900 495
C Cross Reference Generator. 50 37
with Source Code . 200 145
C-Food Smorgasbord Function Library. ... 150 95
with Source Code . 300 184
C-Sprite Source Level Debugger . 175 129
Curses Screen Manager . 125 89
with Source Code . 250 178
dBC dBase File Manager for C . 250 178
with Source Code . 500 356
LMK Make Facility . 195 139
RPG II Compiler No Royalties . 750 626
RPG II Combo with SEU & Sort I Merge. ... 1 100 939
RPG II Screen Design Aid Utility . . . New 350 309
SecretDisk File Encryption Utility . 120 89
SideTalk Resident Communications . 120 89
SSP/PC Scientific Library . New 350 269
Text Management Utilities. 120 89
TopView Toolbasket Function Library .... 250 178
with Source Code . 500 356
200 129
99 75
99 75
99 75
250 169
. . CALL CALL
99 85
65 51
75 61
99 65
New 69 59
45 37
99 75
50 42
95 85
200 99
. . 295 179
50 45
150 99
50 45
New 100 69
logitech products
LOGIMOUSE C7 Specify Connector Type ... 99 83
with PLUS Pkg . 119 98
with PLUS Pkg & PC Paintbrush . 169 134
with PL US Pkg & CAD Software . 189 153
with PLUS Pkg & CAD & Paint . 219 179
MODULA-2/86 Holiday Package. 199 159
MODULA-2/86 Compiler. 89 62
MODULA-2/86 with 8087 Support .... 129 98
MODULA-2/86 with PLUS Pkg. 189 138
Library Sources. 99 88
Make Utility. 29 25
ROM Package. 199 172
Run Time Debugger. 69 56
Turbo to Modula Translator. 49 42
Utilities Package. 49 42
Window Package. 49 42
REPERTOIRE for MODULA-2/86 by PMI. .. . 89 79
Object Code Only . New 19 15
microport products
► System V/AT by Microport Systems . . . Sale 440 359
Runtime System (Operating System} ... 159 145
Software Development System. 169 155
Text Preparation System. 169 155
User Upgrade 3 to Unlimited Users . 169 155
microsoft products
Microsoft BASIC for XENIX . 350 239
► Microsoft C with CodeView . Sale 450 265
Microsoft COBOL Compiler. 700 439
for XENIX . 995 635
Microsoft COBOL Tools with Debugger . . . 350 CALL
for XENIX . 450 289
Microsoft FORTRAN Compiler. 350 204
for XENIX . 695 439
Microsoft Learning DOS. 50 36
Microsoft LISP Common LISP . 250 163
Microsoft MACH 10 wl Mouse & Windows . 549 385
Microsoft MACH 10 Board only . 399 285
Microsoft Macro Assembler. 150 95
Microsoft Mouse Bus Version . 175 114
Microsoft Mouse Serial Version . 195 124
Microsoft muMath Includes muSIMP .... 300 184
Microsoft Pascal Compiler. 300 184
for XENIX . 695 439
Microsoft QuickBASIC. 99 65
Microsoft Sort. 195 129
Microsoft Windows. 99 65
Microsoft Windows Development Kit. . . 500 309
other languages
CCS MUMPS Single-User by MGIobal .... 60 51
CCS MUMPS Single-User/Multi-Tasking . New 150 129
CCS MUMPS Multi-User . 450 369
Janus/ADA C Pack by R&R Software .... 95 89
Janus/ADA D Pack by R&R Software .... 900 769
Methods Smalltalk by Digitalk . 79 66
Personal REXX by Mansfield Software .... 125 99
Smalltalk/V by Digitalk . 99 84
Smalltalk/Comm. 49 45
SN0B0L4+ by Catspaw . 95 80
other products
Compact Source Print by Aldebaran . . New CALL CALL
Dan Bricklin's Demo Pgm Software Garden. 75 59
FANSI-CONSOLE by Hersey Micro .... New 75 65
FA ST BACK by 5th Generation Systems .... 179 149
Informix for DOS by Informix . 795 639
Informix4GL for DOS by Informix . 995 789
InformixSQL for DOS by Informix . 795 639
Instant Replay by Nostradamus . 90 79
Interactive EASYFLOW by Haventree .... 150 129
MKS Toolkit with vi by MKS . 139 119
Norton Commander by Peter Norton . 75 55
OPT-Tech Sort by Opt-Tech Data Proc . 149 115
PrintQ by Software Directions . 89 84
Quilt Computing Combo Package. 199 169
QMake Program Rebuild Utility . 99 84
SRMS Software Revision Mgmt Sys ... . 125 109
screenplay all varieties by Plexus . CALL CALL
SoftScreen/HELP by Dialectic Systems ... 195 149
Source Print by Aldebaran Labs . 97 CALL
Taskview by Sunny Hill Software . 80 56
TLIB by Burton Systems Software . 100 89
Tree Diagrammer by Aldebaran Labs. . . New CALL CALL
VTEK Term Emulator by Sci Endeavors . 150 129
phoenix products
Pasm86 Macro Assembler Version 2.0 .... 195 115
Pdisk Hard Disk & Backup Utility . 195 125
Pfantasy Pac Phoenix Combo . 1295 849
Pfinish Performance Analyzer . 395 229
Pfix-86 Plus Symbolic Debugger . 395 229
LOWEST PRICES
Since this ad is prepared in advance of
publication, some of our current prices may be
lower than what's advertised here. Call for
latest pricing.
FREE SHIPPING
Orders within the USA (including Alaska &
Hawaii) are shipped FREE via UPS. Express
shipping is available at the shipping carrier's
standard rate with no rush fees or handling
charges. To avoid delays when ordering by
mail, please call first to determine the exact
cost of express shipping.
CREDIT CARDS
VISA and MasterCard are accepted at no extra
cost. Your card is charged when your order is
shipped. Mail orders please include credit card
expiration date and telephone number.
CODs AND POs
CODs and Purchase Orders are accepted at no
extra cost. POs with net 30-day terms are
available to qualified US accounts only.
FOREIGN ORDERS
Shipping charges for foreign and Canadian
orders are based on the shipping carrier's
standard rate. Since rates vary between car¬
riers, please call or write for the exact cost.
Foreign orders (except Canada), please include
an additional $ 10 for customs form preparation.
All payments must be made with US funds
drawn on a US bank. Please include your
telephone number when ordering by mail. Due
to government regulations, we cannot ship to
all countries.
VOLUME ORDERS
Call for special pricing.
SOUND ADVICE
Our knowledgeable technical staff can assist in
comparing products, answer technical ques¬
tions and send you detailed product information
tailored to your needs.
30-DAY GUARANTEE
Most of our products come with a 30-day
documentation evaluation period or 30-day
return guarantee. Please note that some
manufacturers restrict us from offering guar¬
antees on their products. Call for more informa¬
tion.
CALL TOLL-FREE
US 800-336-1166
CANADA 800-225-1166
OHIO & ALASKA
(Call Collect) 216-877-3781
FOREIGN 216-877-3781
CUSTOMER SERVICE 216-877-1110
Hours: Weekdays 8:30 AM to 8:00 PM EST.
Ohio customers add 5% state sales tax.
136 SUNNYSIDE ST. HARTVIllE, OHIO 44632
PforCe Comprehensive C Library . 395 229
Plink-86 Plus Overlay Linker . 495 319
Pmaker Make Utility . 125 78
Pm ate Macro Text Editor . 195 115
Pre-C Lint Utility . 295 155
Ptel Binary File Transfer Program . 195 115
polytron products
PolyBoost The Software Accelerator . 80 69
Polytron C Beautifier. 49 45
Polytron C Library I. 99 78
Polytron PowerCom Communications . 179 139
PolyLibrarian Library Manager . 99 78
PolyLibrarian II Library Manager . 149 115
PolyMake UNIX-like Make Facility . 99 78
PolyShell. New 149 119
PolyWindows Products All Varieties .... CALL CALL
PolyXREF Complete Cross Ref Utility . 219 169
PolyXREF One language only . 129 99
PVCS Version Control System . 395 309
softcraft products
Btrieve ISAM Mgr with No Royalties . 245 194
Xtrieve Query Utility . 245 194
Report Option. 145 114
Btrieve/N for Networks . 595 464
Xtrieve/N. 595 464
Report Option/N. 345 274
text editors
Brief from Solution Systems . 195 CALL
Epsilon Emacs-like editor by Lugaru . 195 159
KEDIT by Mansfield Software . 125 99
PC/VI by Custom Software Systems . 149 119
SPF/PC by Command Technology Corp . 195 139
Vedit by CompuView . 150 107
Vedit Plus by CompuView . 185 139
turbo pascal utilities
ALICE Interpreter by Software Channels... . 95 66
Flash-up Windows by Software Bottling. . . 90 CALL
HELP/Control by MDS . 125 109
On-line Help from Opt-Tech Data Proc .... 149 109
Report Builder by Royal American . 75 CALL
Screen Sculptor by Software Bottling .... 125 91
System Builder by Royal American . 100 CALL
TDebugPLUS by TurboPower Software .... 60 49
Turbo EXTENDER by TurboPower Software . . 85 64
Turbo Professional by Sunny Hill . 70 48
TurboHALO from IMS/ . 129 98
TurboPower Utilities by TurboPower . 95 78
Turbo Ref by Gracon Services . 50 45
TurboSmith Visual Age Debugger . 69 45
TurboWINDOW by MetaGraphics . 80 65
wendin products
Operating System Toolbox. 99 79
PC NX Operating system . 99 79
PC VMS Similar to VAX I VMS . 99 79
XTC Text editor with Pascal source . 99 79
xenix system v
See also Microport System V/AT section.
XENIX System V Complete by SCO . 1295 999
XENIX Development System. 595 499
XENIX Operating Sys Specify XTIAT. . . 595 499
XENIX Text Processing Package .... 195 144
xenix products
Btrieve ISAM File Mgr by SoftCraft . 595 464
C-ISAM by Informix . 319 285
p. c-tree ISAM Mgr by FairCom . Sale 395 279
► dbVISTA All Varieties by Raima . Sale CALL CALL
dBx with Library Source by Desktop Al .... 550 499
DOSIX User Version by Data Basics .... New 199 CALL
DOSIX Console Version by Data Basics . . New 399 CALL
Informix by Informix . 995 795
Informix4GL by Informix . 1500 1239
InformixSQL by Informix . 995 795
Lyrix by Informix . 595 449
Micro Focus Level II Compact COBOL. . . 1000 795
Forms-2 . 400 319
Level II ANIMATOR. 600 479
Microsoft See Microsoft Section . CALL CALL
Networks for XENIX by SCO . 595 495
PANEL Screen Designer by Round hi I I . 625 535
REAL-TOOLS Binary Version by PCT . . . New 149 89
Library Source Version . New 399 289
Complete Source Version . New 499 369
RM /COBOL by Ryan-McFarland . 1250 949
RM/FORTRAN by Ryan-McFarland . 750 549
SCO Professional Lotus clone by SCO .... 795 595
CIRCLE NO. 175 ON READER SERVICE CARD
C Programmers:
We support every product in this ad & 700 others.
Try any product here with a full 31-day money-back guarantee.
Flexible SCREEN
and WINDOW Development
with
ZVIEW Screen Library
Use this field-sensitive tool to devel¬
op data entry screens and windows
and provide run-time flexibility. Se¬
curity level settings restrict inquiry
or update of fields; multiple screen
help display is available at screen
and field level.
NEW Features: Windows can be
stacked, peeled off, and moved at
run-time. You also get automatic
scrolling of data within fields.
ZVIEW gives you full control of
attributes, colors, boxes, protected
fields, scrolling, and more. Load
screens from memory for SPEED.
Field support includes alpha,
numeric, or alphanumeric data types,
case conversion, range checking,
and field comparison. ZVIEW even
provides automatic data conversion
to and from ASCII screen format.
Microsoft C, Lattice 3.0, and Aztec
3.2e. Supports EGA, color, and
monochrome displays.
PCDOS $189
280 Functions Without “Fat”:
Blackstar ‘C’ Function Library
Without duplicating compiler li¬
brary functions, the Blackstar ‘C’
function Library covers the range.
BOTH Microsoft C and Lattice C
library versions are included in one
product with screen, graphics, file,
text, and serial communications
routines. Extensive device driver
support (including mouse handling).
Low-level utilities and DOS and
memory control routines. And a great
price, too.
Some other libraries are padded
with different functions that do the
same thing, or functions that repeat
routines suplied with your compiler.
Sterling Castle trims the fat to give
you over 280 unique functions.
All source is supplied (most in C),
including routines written in assem¬
bler for speed optimization. You get
versions for small, medium, and large
models. 350 page manual with quick
reference guide and demos. No
royalties.
1 -800-7-CASTLE PCDOS $99
Compiler-Compatible Interpreter, Editor, Debugger
Interactive-C™
A fully integrated development environment, Interactive-C combines a
K&R standard interpreter with a full-screen editor and source-level de¬
bugger. Interactive C is 100% compatible with Lattice or Microsoft.
You can link in external libraries —- your own or commercial: no source
code modifications are necessary!
The full screen editor gives you adjustable edit, command, and status
windows. Switch to second screen for output, or even display on two
separate monitors.
Why get only a limited debugger when you can get full source debugging
with an interactive interpreter? Unlimited breakpoints, variety of stepping
modes, interactive viewing and modification of variables, automatic
positioning of cursor at error. Even stop to edit, then continue without
re-executing from start . 8087/287 support.
Specify Lattice or Microsoft. PCDOS $219
Fast Prototyping and Development of User Interfaces with
Skylights
“ft's much easier to adapt to the end-user's needs than any other product
I've seen . . . definitely a programmer's tool."
William Elswick, Software Engineer, Compact Video
Quickly design interactive prototypes, then include screens you develop
in your finished application code. Design demos or tutorials.
Skylight combines an intuitive screen/window/menu editor, run-time
windowing, menu handling, and front-end support routines, and “Demo/
Tutorial Maker” program plus detailed low-level primitives. Supports a
variety of pointing devices (mice, tablets, lightpens). All major C com¬
pilers; even use with other languages (BASIC, Pascal, Assembly) with
utility included. Bit-mapped graphics upgrade available. No royalties.
Skylight PCDOS $359
Software , Inc.
BRIEF Makes Editing C Programs a Breeze
BRIEF, The Programmer’s Editor, is tailored for C programmers. Take
a look at the BUILT-IN features below —just part of the reason why
1000’s of C programmers already rely on BRIEF.
AutoCompile - While in BRIEF, with MS C, Lattice, other
compilers
Autoindent - Use default or modify
Template editing - for “fill in the blanks” style programming
Error to Error Tracking - “Next error” moves to right line
MultiWindow Editing - Any size, any number
Macro Language - Completely readable, programmable
BRIEF can be used with any language. Even beginning programmers
become productive in less then 30 minutes. Ask about UNDO (not un¬
delete), Unlimited File Size, Tiled & Pop-Up Windows, or for a detailed
product description. ^Solution
.Systems
PCDOS $195
NEW Blaise Tools Are Better Than Ever
C Tools Plus
Free yourself for more creative programming; stop worrying about hard¬
ware dependence. Handle everything from co-resident software require¬
ments to multiple display pages and monitors with C Tools Plus. Filter
interrupts so that other resident programs still work. 200+ well-
documented functions control screen handling (direct to video adapter or
BIOS calls, EGA text mode support including 43 line and multiple display
pages — even handle multiple monitors), an unlimited number of pop-up,
stackable windows with word-wrap, interrupt service routines, DOS di¬
rectory and file handling, memory management and program control,
string functions, and more. Source, no royalties. Lattice 3.0, MS C.
__PCDOS $139
BLAISE COMPUTING INC.
A NEW C Standard for SCREENS and WINDOWS:
C-SCAPE
Setting a new standard for screen generation, C-scape turns your Dan Bricklin
Demo Program screens into C code instantly. You can capture existing screens
from 1-2-3, Turbo, or that old BASIC diehard and convert them to C inseconds.
C-scape can save you immense effort and reduce errors for both new program
development and language conversion projects.
C-scape is a combination screen generator and library of input/output functions
that provides an advanced and powerful ability to create different types of
menus, input fields, help screens, and text with unprecendented speed and
flexibility. Tiled, pull-down, and pop-up windows of virtually any depth
(limited by RAM) are a key feature, along with scrolling, full color and type
support, and individual key or field validation.
Because C-scape is based on C’s printf statement, you can embed the com¬
mands for screen positioning and field definition right inside your format
string. This helps you produce clear, readable code, which is easier to maintain
and change.
Since full source code is provided, the standard library routines can be tailored
to meet your exact screen layout and keystroke handling requirements.
All C programmers will benefit from C-scape’s readable, intuitive syntax,
based on an extension of C’s printf function. Beginners will learn by studying
code generated from captured screens. Advanced programmers will enjoy
C-scape’s ease of maintenance. Power programmers will appreciate the free
source code provided at no additional cost upon registration.
Oakland Group, Inc. features free updates, an on-line bulletin board for
users, and toll-free technical support at 800-233-3733 (800-BEE-FREE) or
617-491-7311.
Escape the pitfalls of coding from scratch, and free up your time for creativity
and productivity. Buy C-scape now and take advantage of the 31-day review
period: satisfaction guaranteed or your money back. No royalties. No license
fee. Lattice 3.0, Microsoft 3.0 & 4.0.
Oakland Group, Inc.CO PCDOS $149
Call for a catalog, literature, advice and service you can trust
HOURS
8:30 AM -8:00 PM EST.
CIRCLE NO. 220 ON READER SERVICE CARD
800 - 421-8006
THE PROGRAMMER’S SHOP™
128-P Rockland Street, Hanover, MA 02339
Mass: 800-442 8070 or 617-826-7531 12/86
“The scope and detail of services you provide are
exemplary — it’s obvious you have given a lot
of thought to what information people need . . .
For someone like myself, critical appraisals of
software and comprehensive collections of offer¬
ings such as you have are really useful.”
A. Bruce Cyr
Foundation of American College
of Health Care Administrators
1 1 tr^l yOT T
1 JDvJrl
MICHAEL ABRASH
NOTEBOOK
73
Conditional-jump Macros
Macros can be used to size a conditional jump automatically,
in order to aid the assembly language programmer.
T he need to work around short conditional jumps is one of
the annoyances of assembly language programming for
the 808x microprocessor family. Backward conditional jumps
spanning fewer than 129 bytes and forward conditional jumps
spanning fewer than 128 bytes can be implemented with a
single instruction, such as JNZ, but longer conditional jumps
require a two-instruction sequence, such as JZ around a long
JMP. An optimizing compiler is better than an assembler in
the automatic generation of the proper code sequence for
long or short conditional jumps as needed, and produces
tighter, faster code. With the proper macros, however, auto¬
matically sized backward conditional jumps are possible.
The macro in MJNZMAC.ASM (listing 1) generates JNZ if
the jump distance is short enough for the 128-byte range of
the backward conditional jump to reach the destination. If the
distance is too great, a JZ around a JMP is generated. If the
jump distance is more than 128 bytes (as calculated from the
end of the JNZ instruction), the JZ/JMP sequence will be gen¬
erated; otherwise, the more efficient JNZ instruction (3 bytes
shorter and 3 to 12 cycles faster on the 8088) is used.
The MJNZ macro can determine the optimal code se¬
quence for backward jumps only. On the first pass of the as¬
sembler, the destination of (and hence the distance covered
by) forward jumps is not yet known, whereas on pass two,
the destination is known, but any change in the length of the
code sequence from pass one causes a phase error. The
LISTING 1: MJNZMAC.ASM
; Input:
/ PI = label to jump to.
MJNZ macro
PI
local
ifdef PI
if (PI LE $)
skip_label, skip_label1, skip_label2
if (($ * PI
+ 2) LE 128)
jnz
else
PI ;backward short jump
jz
skiplabel
jmp
skip_tabel:
endif
else
PI /backward long jump
jz
skip_label1 /forward jump (pass 2)
jmp
skip_label1:
endif
else
PI
jz
skip_label2 /forward jump (pass 1)
jmp
skip_label2:
endif
endm
PI
MJNZ macro handles this problem by treating all forward
jumps in the same way—as long jumps via a JZ/JMP sequence.
Forward jumps that span more than 127 bytes do not cause
an error. To make the code as efficient as possible, the for¬
ward jumps should be coded as short ones. If any of the
jumps should have been long (more than 127 bytes), the as¬
sembler generates an error, and the jumps that are in error
can be modified manually to be long.
Another useful conditional jump macro is shown in
MLOOPMAC.ASM (listing 2). MLOOP generates a LOOP in¬
struction, if possible, or a DEC CX/JZ/JMP sequence, if the
jump range is too great. Again, for forward jumps, the listing
creates a long jump to ensure that no errors occur at the
time of assembly. This can be modified (as explained above
for listing 1) for code efficiency where possible.
One excellent application of conditional-jump macros is
in building other macros. When coding macros that contain
loops around REPT blocks of variable length or macros that
contain conditional jumps to destinations outside the macro
code, a long jump range normally is assumed, and the JX/JMP
code sequence is used because a short jump might not reach
in all circumstances. Conditional-jump macros used within
other macros ensure that efficient jumps will be generated
automatically whenever possible. 1S ^1
Michael Abrash is a senior software engineer for Orion Industries.
LISTING 2: MLOOPMAC.ASM
/ Input:
/ PI = label to jump to.
MLOOP macro
PI
local
skip_label f skip_label1, skip_label2
ifdef PI
if (PI LE $)
if (($ - PI
+ 2) LE 128)
loop
PI /backward short jump
else
dec
cx
jz
skip_label
jmp
PI
skip_label:
endi f
else
dec
cx /forward jump (pass 2)
jz
skip_label1
jmp
PI
skip_label1:
endif
else
dec
cx /forward jump (pass 1)
jz
skip_label2
jmp
PI
skip_label2:
endif
endm
FEBRUARY 1987
45
Finally, a language worth
For years BASIC has been everyone’s first
language. And for almost as long, they’ve been
tempted by other languages. Lured by promises
of more speed, more power.
We have a solution. A new language that’s a
substantial improvement over BASICA. Faster.
More structured. Finally, a compelling reason to
leave BASIC.
Introducing Microsoft’s QuickBASIC
Compiler, Version 2.0.
At last, you can have the latest programming
techniques, combined with the solid foundation
of BASIC. Our new compiler is as compatible
with BASICA as you can get. At the same time
it offers the extra speed and power you’ve been
looking for.
Run faster with compiled code*
If there’s one thing you’ve asked for, it’s speed.
And Microsoft® QuickBASIC simply blazes.
Old BASICA programs will run up to ten times
quicker once they’ve been compiled. Sometimes
even faster.
Everything you need* Built-in.
Making programs run faster is only part of the
story, though. The new Microsoft QuickBASIC
Compiler includes a full-screen editor, built-in.
So now you can make the jump from writing to
RUNning in no time flat. Edit your program,
compile it, and run it. Faster than any other
BASIC compiler around. All without leaving
our on-line help and prompts.
Microsoft is a registered trademark and The High Performance Software is a trademark of Microsoft Corporation. IBM is a registered trademark of International Business Machines Corporation.
leaving BASIC for.
On the rare chance your program doesn’t run
100% the first time out, we’ve got another sur¬
prise for you. The Microsoft QuickBASIC de¬
bugger. Our full-screen tracing lets you
debug your programs while watch¬
ing the source code execute. A line
at a time, or with breakpoints. As
easy as can be.
Our compiler is also
to save you time. First, by finding any
errors in one pass. Second, by putting your
editor s cursor on the problem. Automatically.
So you don’t have to get lost in a maze of error
codes and line-numbers.
The BASIC virtues. And more.
Speaking of line numbers, let’s not. Because
line numbers are strictly optional. And Microsoft
QuickBASIC lets you use alphanumeric labels
as well. Now you can GOTO ErrorCheck instead
of line number 6815.
Or you could stop using GOTOs altogether.
There are a variety of options that could make
the GOTO an endangered species. Features like
multi-line IF-THEN blocks. And named sub¬
programs. Now your BASIC programs can be
as structured and organized as you want.
We’ve only just begun to talk about the
virtues of Microsoft QuickBASIC. There are
dozens of enhancements to your favorite
language. Things like larger arrays. Local and
global variables. Reusable modules that let you
create libraries of your most often-used routines.
All explained in a revised manual that includes
a complete language reference.
Making your quick escape.
If all these features follow your BASIC
instincts, then zip on down to your nearest
Microsoft dealer. That’s where you’ll discover the
best surprise of all. The price. Only $99 for the
best reason to leave BASIC.
For the name of your nearest Microsoft dealer,
call (800) 426-9400. In Washington State and
Alaska, (206) 882-8088. In Canada, call (416)
673-7638.
Microsoft® QuickBASIC
The High Performance Software™
CIRCLE NO. 121 ON READER SERVICE CARD
Microsoft QuickBASIC Compiler Version 2.0
for IBM® PC and Compatible Computers.
BASICA Compatibility
♦ Sound statements including SOUND and PLAY.
♦ Graphics statements including WINDOW VIEW DRAW
GET, PUT, LINE, CIRCLE, LOCATE and SCREEN.
♦ Support of EGA extended graphics modes. NEW!
♦ BASICA structures are supported including WHILE/WEND,
IF/THEN/ELSE, FOR/NEXT, GOSUB/RETURN, and
event handling. ,
Microsoft
Results of Sieve Benchmark BASICA 3.1 QuickBASIC 2.0
Seconds per iteration 78 0.52
Complete Programming Environment
♦ Built-in Editor that places the cursor on found errors auto¬
matically. NEW!
♦ Compile entirely in memory at speeds up to 6000 lines per
minute. NEW!
♦ Link routines once when starting a programming session and
no need to link again when changing programs. NEW!
♦ Built-in debugger with single-step, animate, and trace modes.
NEW!
♦ Create stand-alone programs.
Alphanumeric Labels
♦ Can be used to make your programs more readable. Line
numbers are not required but are supported for BASICA
compatibility.
Structured Programming Support
♦ Block IF/THEN/ELSE/END IF eliminates the need for
GOTO statements. NEW!
♦ Subprograms can be called by name and passed parameters.
Both local and global variables are supported.
Modular Programming Support
♦ Separate compilation allows you to create compiled BASIC
libraries to use and re-use your programs.
♦ A library of routines to access DOS and BIOS interrupts is
supplied. NEW!
Large Program Support
♦ Code can use up to available memory.
♦Numeric arrays, each up to 64K bytes,
can use up to available memory.
NEW!
"Rampage* 286 Offers Up To
2 Megabytes Of Memory For
Our ATs and XT 286s.
Linda's job requires her to be
a jack of all trades... accountant,
writer, even market researcher.
To get the job done she uses
specialized software applications—
1-2-3® for spreadsheets, WordStar®
for writing and dBASE III® for her
extensive database files.
Moving between applications
was time consuming until Linda got AST's Rampage
286. With the operating environment software
AST includes with all its expanded
memory boards, she's able to load
her applications directly into
RAM once in the morning.
Now she jumps from applica¬
tion to application with the touch
of a key And she can even do sev¬
eral tasks, using multiple applica¬
tions, at the same time. Rampage
286 was the right choice for Linda:'
"We Needed \taat
Solutic
“Advantage Premium® For A
Combination Of I/O Ports and
Expanded Memory.
Bill is setting up his new
AT with a modem to access and
receive information, a plotter for
plotting and analyzing data, and
a letter-quality printer for reports
to management.
We knew he'd need extra
ports. So we ordered his AT with
AST's Advantage Premium. It offers all the same
expanded memory features of the Rampage
286 combined with one or two serial
ports and a parallel port—all in a
single slot.
With his 2 MB of expanded
memory Bill intends to set up large
RAM disks and print buffers.
That's power and
flexibility And it's just
what Bill needs;'
le ATMemory
ns We Chose AST”
“For Business Graphics...Rampage/EGA Is The
Right Single-Slot Memory/EGA Solution.
In accounting, Rick, uses EGA-color graphics
to convert data into charts and graphs.These images
help him to quickly analyze and understand the
mountains of data his department acquires. He's
found that EGA offers the sharpest, clearest images.
Rick also creates big spreadsheets using the
expanded memory version of Lotus® 1-2-3. And here
Rampage/EGA's 2 MB of expanded memory cam
come in mighty handy
When we added EGA capability to other ATs,
Rick recommended AST's Rampage/EGA. He said
it works with popular monochrome, color and
enhanced color monitors and makes
upgrading a system easy We took his
advice. Now Rick is the Accounting
Manager."
'AST's Premium Series Boards For The AT
Also Give Us Extended Memory.
We use extended memory for large RAM disks
and print buffers. And it gives us compatibility
with current and future protected operating systems,
like XENIX,®"
To Leam More About AST's Premium Series
AT Boards Call (714) 863-1480. Or complete the
coupon and send to AST Research, Inc., 2121 Alton
Ave., Irvine, CA, 92714-4992, Attn: MC.
AST markets products worldwide—in Europe call: 441 568 4350; in the Far East call: 852 0499 9113; in
Canada call 416 826 7514. AST, the AST logo, and Rampage registered and SixPakPremium trademark of AST
Research, Inc. IBM and AT registered trademarks of International Business Machines Corp. Lotus and 1-2-3
registered trademarks of Lotus Development Corp. dBASE III registered trademark of Ashton-Tate. WordStar
registered trademark of MicroPro International. XENIX registered trademark of Microsoft Corp. Copyright
© 1986 AST Research, Inc. All rights reserved.
Yes, send me information on AST's Premium Series boards for the AT!
Name
Title
Address
City/State/Zip
The newest microprocessor from Intel
builds on the strong foundations
of its predecessors to deliver
minicomputer performance to the PC.
rom its beginnings in the 8086 and
8088, the growth of the Intel pro¬
cessor family has been character¬
ized by full upward compatibility and
significant advances in function and per¬
formance. While providing functional
advances, every new member of the
family has retained full instruction set
and operational compatibility with its
predecessors, affording protection of
the investment made on software for
the previous microprocessors. In the
case of the 8086/88, this investment has
been formidable.
It is therefore significant that Intel’s
latest microprocessor, the powerful 32-
bit 80386, brings even greater function
and performance while also providing
for a smooth transition from the pro¬
gramming environment of the 8086/88
and 80286. This newest Intel family
member features internal enhance¬
ments, such as instruction and bus pipe¬
lining, a larger prefetch queue, and a
32-entry page table cache for memory
paging functions, which, coupled with
the 16-MHz clock rate, provide a level
pf performance that is traditionally asso¬
ciated with central processing units in
minicomputer products.
The most significant advances of
the 80386 are those with the potential
for removing the barriers that operating
system and application developers have
encountered in its predecessors. These
new advances include the 32-bit instruc¬
tion set enhancements, the memory
paging functions, the enhanced I/O per¬
mission features, and the large linear
address (4GB) programming model.
Most of all, and most important, is that
these advances have been incorporated
in a superset manner in order to main¬
tain full compatibility with software
products developed for the 8086/88 and
80286. Table 1 summarizes the func¬
tional superset provided by each mem¬
ber of the Intel microprocessor family.
51
PHOTOGRAPH ‘WALTER LARRIMORE/BLAKESLEE-LANE
80386
SOLID FOUNDATIONS
The 8086/88 microprocessors are the
foundation of industry-standard per¬
sonal computing. They provide the
functional base from which the Intel
microprocessor family has continued to
evolve in function and performance,
and they have set the programming
standards used to develop the large
number of software products available
today for personal computers. However,
innovation in the software industry has
outgrown the 8086/88 architecture. The
performance and function provided by
this architecture have become an im¬
pediment to the development of more
powerful software applications.
The 8086 and 8088 both use a 16-
bit internal architecture and provide 16-
bit registers and a 16-bit instruction set.
The only difference between the two
processors is that the 8086 uses a 16-bit
external bus to reference memory,
whereas the 8088 uses an 8-bit external
bus. Their addressing mechanism is a
simple one. During program memory
references, the contents of the segment
register are shifted left by 4 bits and
added to the offset to form a 20-bit
physical memory address. This address
provides software programs with direct
access to 1MB of physical memory.
The 8086/88 programming model
is based on a segmented memory mod¬
el in which the code and data portions
of a program are partitioned into vari¬
able length segments up to 64KB in
size. In this model, the 8086/88 micro¬
processors provide an environment ap¬
propriate for developing relatively sim¬
ple operating systems and applications.
As applications have increased in
sophistication, the limits of the 8086/88
architecture have become evident. The
1MB physical memory constraint has
forced some applications to resort to
complex memory management tech¬
niques, such as overlays, that typically
place performance and function limita¬
tions on those applications. In addition,
operating systems with the required
functions to support the complexity of
new applications have been limited due
to the memory size constraints and the
direct accessibility of physical memory
and I/O devices by applications.
80286 EXPANDS LIMITS
The next step in the evolution of Intel
microprocessors was the 80286, also
based on a 16-bit architecture, but with
significant improvements in the areas
limited by the 8086/88. The 80286 pro¬
vides two different modes of operation:
real and protected. In real mode, the
16-bit instruction set, the segmented
TABLE 1: Intel Family Functional Aspects
FEATURES
8088/8086
80286
80386
Maximum physical memory
1MB
16MB
4GB
Maximum virtual memory
1MB
1GB
64TB
Maximum segment size
64KB
64KB
64KB or 4GB
Paging hardware
No
No
Yes
Operand sizes (bits)
8, 16
8, 16
8,16, 32
Register sizes (bits)
8, 16
8, 16
8, 16, 32
Memory-I/O protection
No
Yes
Yes
Coprocessor support
8087
80287
80287/80387
Prefetch queue (bytes)
4/6
6
12
Newer members of the Intel microprocessor family are designed to add function¬
ality and performance while providing compatibility with older family members.
programming model, addressing mech¬
anism, and 1MB physical memory limi¬
tations are identical to those provided
by the 8086/88. This compatibility al¬
lows most application programs devel¬
oped for the 8086/88 to execute on the
80286. Execution of these applications
in real mode benefits primarily from
the faster execution speed offered by
the 80286-based computers.
The 80286’s protected mode ad¬
dresses up to 16MB of physical memory
and implements a hierarchical memory
protection model that is necessary for
the implementation of more sophisti¬
cated operating systems. Unfortunately,
a basic incompatibility between real and
protected modes has hindered develop¬
ment of protected mode operating sys¬
tems that make available to applications
the new capabilities of protected mode
while also allowing real mode applica¬
tions to execute.
The protected mode’s memory
protection model is based on four privi¬
lege levels (0 to 3) that can be used to
manage access to system memory and
I/O devices. Typically, the operating sys¬
tem executes at the highest privilege
level (0) and has the ability to access all
system memory and I/O resources. Ap¬
plications, on the other hand, usually
execute at the lowest privilege level in
which access to memory and I/O re¬
sources is limited.
Applications can, however, access
operating system and other higher-privi¬
lege services that have access to a wider
range of system resources by transfer¬
ring control to those services via gates.
Gates are used to transfer execution
between routines at different privilege
levels. For example, call gates can pro¬
vide access to operating system services
that allow applications to access pro¬
tected system resources indirectly.
Other gates—interrupt, trap, and task—
are used for interprivilege-level trans¬
fers, such as those of execution be¬
tween tasks and interrupt handlers.
Memory protection is accom¬
plished by assigning to each memory
segment a privilege level that is placed
in the segment’s descriptor entry. This
level determines the minimum privilege
a program must have to access that seg¬
ment. An I/O privilege level is also as¬
signed in the flags register to define the
level of privilege necessary for a pro¬
gram to perform direct I/O to devices.
Combined, the memory and I/O privi¬
lege levels assigned to system resources
by the operating system define which
programs can access these resources.
Similarly, the operating system as¬
signs to each application a privilege lev¬
el of execution. This privilege level is
placed in the least two significant bits of
the program code segment (CS) regis¬
ter. Programs that are assigned a lower
privilege (higher numerical value) than
that required to access a memory seg¬
ment are prevented by the 80286 from
accessing that segment. If such a pro¬
gram attempts to access a memory seg¬
ment of higher privilege level, a general
protection fault (interrupt 0DH) occurs.
Similar results occur if a program
whose privilege level is lower than that
assigned to I/O devices (IOPL) attempts
to access an I/O device directly.
By using the least significant bits of
the segment registers to contain the
privilege level of the executing pro¬
gram, the memory addressing mecha¬
nism is made to function differently in
protected mode than in real mode. As a
result, the vast number of applications
developed for the 8086/88 cannot be
executed in protected mode and thus
cannot take advantage of the increased
memory capacity of the 80286.
Figures 1 and 2 show the address¬
ing mechanism used in the protected
mode of both the 80286 and 80386. In
this mode, the content of the segment
32
PC TECH JOURNAL
Adapted from Intel 80386 Data Sheet _Adapted from Intel 80386 Data Sheet
FIGURE 1: Segment Registers in 80286/80386 Protected Mode
SELECTOR
15
4 3 2 1 0
SEGMENT
~Y~
TI
REGISTER
0
0 //
.. .0
0
1
1
1
1
INDEX
- REQUESTOR
PRIVILEGE LEVEL
TABLE
INDICATOR
TI = 1
TI = 0
N
^_^
N
6
6
5
5
4
4
3
DESCRIPTOR
3
2
2
1
1
0
0
NULL
LOCAL
DESCRIPTOR TABLE
GLOBAL
DESCRIPTOR TABLE
A 16-bit segment register selects the segment by indexing either the global (GDT)
or local (LDT) descriptor table. Typically, each task has its own LDT.
FIGURE 2: 80286/80386 Protected Mode Addressing
SEGMENT
REGISTER
~ss]
GS
FS
ES
DS
SELECTOR
CS
BASE REGISTER
INDEX REGISTER
SCALE
1, 2, 4, or 8
L K+>
EFFECTIVE
DESCRIPTOR ADDRESS
REGISTERS
~ss]
illllllil
DISPLACEMENT
r
(in instruction)
PHYSICAL MEMORY
GS
FS
0
24-BIT
LINEAR
ADDRESS
-►
ES
DS
ACCESS RIGHTS
CS
LIMIT
BASE ADDRESS
TARGET ADDRESS
SEGMENT
LIMIT
SELECTED
SEGMENT
] 386 only
SEGMENT
BASE
ADDRESS
Both the 80286 and 80386 allow addressing through a combination of displace¬
ment and base/index registers. The 80386 provides additional segment registers FS
and GS and allows the index register to be scaled (multiplied) by 1, 2, 4, or 8.
registers is used, during a memory ac¬
cess, as an index into one of several de¬
scriptor tables that define how the phys¬
ical memory is partitioned in the sys¬
tem. Using the three least significant
bits in the segment registers to define
the privilege level (0 to 3) and descrip¬
tor table (global or local) make the use
of the segment register contents incom¬
patible with that of the 8086/88 and
80286 real mode. For example, in the
8086/88, general data, unrelated to seg¬
ment information, can be stored in the
segment registers. Some 8086 programs
use their knowledge of segment/offset
addressing by placing the value 0 in a
segment register. On an 8086, this pro¬
vides access to the low 64KB of mem¬
ory. On an 80286 in protected mode,
this typically results in a memory pro¬
tection fault, because the segment regis¬
ter bits have different meanings.
The 80286 also offers task manage¬
ment facilities via the task state segment
(TSS) data structure, which allows an
operating system to assign a TSS to
each task in the system and to store in
the TSS the execution state (for exam¬
ple, register contents and flags) asso¬
ciated with that task. The TSS functions
make an efficient transition from one
task to another by saving the current
task’s execution parameters quickly in
the TSS and restoring the execution pa¬
rameters of the new task from its corre¬
sponding TSS data structure.
A FEW CONSTRAINTS
Powerful applications that have been es¬
pecially developed to run in protected
mode face a number of constraints in
the 80286 segmented programming
model. For large applications, such as
artificial-intelligence-based expert sys¬
tems, the 64KB segment size limitation
forces the developer to partition an ap¬
plication into multiple code and data
segments. Thus, the operating system
cannot relieve the application (or its
source language) from the burden of
managing code and data segments.
The segmentation model of the
80286 also hinders the porting of appli¬
cations developed for microprocessors
that use a large linear address program¬
ming model, such as the Motorola
68000. Porting such an application to
the Intel family would probably require
a major redesign of the application in
order to partition it into multiple code
and data segments.
Other constraints in the 80286
functions have also slowed certain areas
of operating system development. For
example, the 80286 lacks some of the
functions needed to implement an ef-
FEBRUARY1987
53
Appointments. Everybody
takes them — dentists, auto¬
body shops, dance instructors.
And lots of computer applica¬
tions need appointment
screens.
Bob thought that a calen¬
dar made a terrific graphic
metaphor for taking appoint¬
ments. Simply use the arrow
keys to pick an open date, then
press the Enter key, and up
pops an appointment window.
Lucky for Bob, he’s a
CLARION programmer, one of
a fast growing cadre of super-productive application developers.
With CLARION'S Screener utility, he painted a white calendar on a black back¬
ground. Then he drew a white-on-blue track around the page and between the days.
He typed in the days of the week — and voila! — a calendar!
CLARION knows that a PC monitor is refreshed from memory, so it treats a
screen layout like a group of variables. Just move data to a screen variable, and it
shows up on the monitor.
Bob set up dimensioned screen variables for the days of the month and a screen
pointer for selecting a date, and he was done. Then Screener generated the code.
Then Bob drew the appointments window, built an appointment file, filled in the
connecting code and tested it — ONE HOUR AFTER HE STARTED!
Testing was a breeze. Screener doesn't just write code, it compiles your source,
displays a screen, gets the changes, then replaces the old code in your pregram.
So here are Bob's appointment screens. You can see the source listing to the right.
We marked all the code Screener wrote for him.
WHY CLARION?
■ 8 ^ If ~ K; iMp; e“1c; ^ 1 Why are application developers everywhere
H """-fiyiLssJI Because CLARION gives you all the tools
B -— EM T, „ r Sj| 1 you need: a coupled compiler and editor; screen,
fl-zn jgjHEill ' *1 n a I I report, and help generators; an import/export
7 iys4=gas| utility; a sort/backup/restore utility; a format-
J| ted file dump; DOS shell — and much more.
■ " I! "i| Because with CLARION’s comprehensive
Ln data management routines, records can be
Booked
Not In
Booked 1 Booked]
Booked jPH: Booked
Att: Booked
19
Easter
Sunday
10:38 G. Fredricks
11:00 K. Lundstron
11:30 sane-
12:00 Lunch - Rotary
12-30 -sane-
3:30
4:00 C. Stanley
4:30 -sane-
^ m locked and files shared on Novell®, 3COM®, ?
IBM® PC Net & Token Ring, Multi Link®, and most other networks. : lip" 5ff
Because CLARION is not hardware locked or copy protected. Rpn-time systems 11 Si— 2L
are free and soon you will be able to translate CLARION into native machine code ."
(.EXEs). _ _ _ I_I
And best yet, the price of CLARION vl.l is just $395 plus shipping and handling.
You’ll need an IBM PC or true compatible with 320KB of memory and a hard disk drive. CLARION vl.l
also comes with a 30-day money back guarantee. _
So call now and order CLARION vl.l. or ask for our 1^ ¥^^V|L¥®
detailed 16-page color brochure and reprints of major reviews. m 1^^ l¥J|^|
800 / 354-5444
from BARRINGTON SYSTEMS, INC.
APPOINTMENTS FOR
THURSDAY
CIRCLE NO. 105 ON READER SERVICE CARD
Adapted from Intel 80386 Data Sheet
80386
FIGURE 3: 80386 General Registers and Flags
GENERAL DATA
and ADDRESS REGISTERS
31
16 15
SEGMENT SELECTOR
REGISTERS
15 0
INSTRUCTION POINTER
and RAGS REGISTER
31
1615
AH AX AL
BH BX BL
CH CX CL
DH DX DL
SI
DI
BP
SP
EAX
CS
CODE
EBX
ss
STACK
ECX
DS^
EDX
ES
DATA
ESI
FS
EDI
GsJ
EBP
ESP
IP
RAGS
EIP
EFLAGS
FLAGS
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 V~V~V~T~6~~T~4 3 2 1 0
EFLAGS
INTEL RESERVED
VM
RF
0
NT
IOPL
OF
DF
IF
TF
SF
ZF
0
AF
0
PF
1
CF
VM
Virtual mode
IOPL I/O privilege level
DF
Direction flag
PF Parity flag
ZF
Zero flag
RF
Resume flag
OF Overflow flag
IF
Interrupt enable
AF Auxiliary carry
SF
Sign flag
NT
Nested task flag
CF
Carry flag
TF
Trap flag
Most registers are expanded to 32 bits in the 80386. Instruction prefix bytes determine if the 16- or 32-bit register is used.
fective virtual memory system. The ad¬
vantage of such a system is the ability
concurrently to execute single or multi¬
ple applications, the total memory re¬
quirement of which exceeds the total
amount of physical memory installed in
the system. Such sophisticated memory
management techniques have long been
used in mainframe and minicomputer
products and are becoming essential for
microcomputers. The requirement in
certain environments for running multi¬
ple applications concurrently has in¬
creased the need for these memory
management techniques.
STEPPING UP TO 32 BITS
Given these limitations of the 80286,
the time seemed right for yet another
advancement in microprocessors—and
Intel introduced the 80386. It is built on
a 32-bit internal and external bus archi¬
tecture and features a full complement
of 32-bit registers (see figure 3), a sub¬
set of which can be used to perform 16-
bit operations compatible with those of
the 8086/88 and the 80286. All 16-bit
registers present on the 80286 can be
accessed on the 80386 by the same
names (AX, BX, etc.). Their 32-bit coun¬
terparts are accessed as extensions of
the 16-bit registers (EAX, EBX, etc.).
All instruction prefetch operations
are made on a 32-bit basis, thus taking
full advantage of the bandwidth of the
memory bus. As a result of this more
effective prefetching method and for
optimization with the larger average in¬
struction size, the size of the prefetch
queue has been increased from that of
previous microprocessors to hold three
double words (12 bytes).
The instruction pipelining capabil¬
ity allows the parallel fetching, decod¬
ing, and execution of instructions. The
execution unit can execute an instruc¬
tion while the instruction decode unit is
decoding the following instruction and
the bus control unit is prefetching yet a
third instruction. Similarly, for instruc¬
tions that require memory or I/O bus
cycles, the bus control unit can gener¬
ally perform bus cycles simultaneously
with the execution of internal cycles
that do not require bus activity.
An example of the efficiency of in¬
struction pipelining is found in the ex¬
ecution of an iteration of the repeat
move string (REP MOVS) instruction. An
iteration (not the first execution of the
repeated MOVS instruction) of this in¬
struction requires four execution cycles
and two memory bus accesses (one to
read and one to write). In a system with
a pipelined zero-wait-state memory
architecture, where each 32-bit memory
bus access is performed in two cycles,
the four bus cycles are performed in
parallel with the four CPU execution
cycles. The parallel execution of inter¬
nal and bus cycles yields a 32-bit mem¬
ory move time of 250 nanoseconds
(ns), or four 62.5-ns cycles at 16 MHz.
Bus pipelining is also an important
advance of the 80386. It maximizes
memory bus activity and allows 80386-
based designs to use more cost-effective
memory subsystems than equivalent
80286-based systems. With bus pipelin¬
ing, the 80386 places the control and
address signals of the next bus cycle on
its external bus while the current bus
cycle is still in progress. This allows the
memory subsystem to start decoding
the next bus operation while the cur¬
rent operation is completing. As a re¬
sult, the memory control circuitry and
memory devices have a longer time to
decode memory cycles.
Using bus pipelining, a 32-bit
memory access can be accomplished,
depending on the speed and design of
the memory subsystem, as fast as 125 ns
(two 62.5-ns cycles in a 16-MHz zero-
wait-state bus operation). This access
time compares favorably with the 1
microsecond (16 cycles at 62.5 ns) re¬
quired to access 32 bits of information
via the 8-MHz one-wait-state, 16-bit-bus
of typical 80286 computers.
Figure 4 shows the operation of
bus pipelining. The memory subsystem
indicates to the 80386 via the next ad¬
dress signal (NA#) that it is ready to ac¬
cept the address and control signals for
the second cycle while the first cycle is
still in progress (the # symbol indicates
the signal is active in its low state). The
80386 places the control (BE0#-BE3#,
M/IO#, D/C#, W/R#) and address (A2-
A31) signals on the bus and indicates
the validity of these signals with a nega¬
tive transition of address status (ADS#).
The memory subsystem uses this transi-
FEBRUARY1987
55
UnleashThe Most Powerful
Development Tbols
OnThe Planet DOS.
UNIFY DBMS/DOS.The UNIX Worid Leader
Brills A New Dimensionlb DOS Application Development
What happens as the DOS world expands? As a
new generation of hardware takes over? As networking
becomes more important? The potential is enormous.
But until now, the tools to achieve it have been limited.
Now a leader from another world unleashes that
potential: UNIFY® DBMS. The leading relational
DBMS in the UNIX™ world. And now, the most
advanced set of application development tools in the
DOS world.
With UNIFY DBMS, DOS developers have new
power to build more sophisticated applications than ever
before possible.
The power to write high performance “C’
programs that will access the data base, using
Unify’s Direct Host Language Interface.
The power of an industry standard
query language—SQL.
The power of unmatched speed in pro¬
duction applications. Only UNIFY DBMS is
specifically engineered for transaction through¬
put. With unique performance features like
PathFinder™ Architecture multiple access meth¬
ods, for the fastest possible data base access.
UniForum
January 20 - 23, 1987
Washington Convention Center
Washington D.C.
The power of comprehensive pro¬
gram development and screen man¬
agement tools. Plus a state-
of-the-art fourth generation
report-writer.
What’s more, with UNIFY
DBMS, the potential of networked
applications becomes a reality. Unlike
DBMS systems which were originally
single-user (and which have a long stretch
to accommodate more users), UNIFY DBMS
is a proven multi-user system.
And because UNIFY DBMS/DOS is
the best of two worlds, it offers you the most
powerful benefit of all: DBMS applications that
can grow as your needs grow. From single user
DOS. To networked DOS. To multi-user UNIX.
All without changing your applications.
Call the Unify Information Hotline
for our free booklet: The New DOS World.
(503) 635-7777
uniFU
CORPORATION
4000 Kruse Way Place
Lake Oswego, OR 97034
D1986 Unify Corporation. UNIX™ is a trademark of AT&T Bell Laboratories.
CIRCLE NO. 156 ON READER SERVICE CARD
Adapted from Intel 80386 Data Sheet
80386
FIGURE 4: Bus Pipelining Operation
CLK2
(INPUT)
BEO# - BE3#,A2 - A31,
M/IO#,D/C#,W/R#
(OUTPUTS)
ADS#
(OUTPUT)
NA#
(INPUT)
READY#
(INPUT)
LOCK#
(OUTPUT)
DO - D31
(INPUT DURING READ)
A fast memory subsystem can use the next address (NA#) line to overlap the
fetching of one operand with the address decoding of the next operand.
tion of ADS# to latch the control and
address signals and to start decoding
the operation for the next bus cycle
(cycle 2). When cycle 1 completes, the
memory subsystem then activates the
READY# signal to indicate to the 80386
that it is ready to start cycle 2, the ad¬
dress and control signals of which have
already been decoded during the exec¬
ution of cycle 1. Having the decoding
already accomplished allows the mem¬
ory system to complete the memory
bus cycle time in two CPU clock cycles.
INSTRUCTION ENHANCEMENTS
The instruction set of the 80386 is a
superset of that found in the 8086/88
and 80286 microprocessors. Its high¬
lights are as follows:
• Instructions such as multiply (MUL)
have been optimized by using an
early-out algorithm in which the most
significant bits of the multiplier are 0.
This allows a multiply instruction to
execute in 0.36 microsecond (that is,
9 cycles * 62.5 ns at 16 MHz).
• The scaled index address mode has
been added for instructions using
memory references. This address
mode permits the contents of an
index register to be scaled—that is,
multiplied by 1, 2, 4, or 8—before
being added to the base. This allows
for efficient indexing into data arrays
with multiple-byte entries. For ex¬
ample, the instruction
MOV EAX, [EDI*8] [EBX]
can retrieve into EAX a double word
from a data array with its base address
stored in EBX. The number of the en¬
try to be accessed (0 = first entry) is
stored in EDI with the multiplier, in
this case indicating an array with eight
bytes per entry.
• A 64-bit barrel shifter in the 80386 ex¬
ecution unit optimizes shift, multiply,
and divide operations. With the barrel
shifter, multiple-bit shift operations
can be executed in one clock cycle.
The new shift right double (SHRD)
and shift left double (SHLD) instruc¬
tions use this capability to allow bit
string manipulations typically found in
BITBLT graphics routines. The SHRD
and SHLD instructions use two 32-bit
registers to allow a 64-bit string to be
shifted multiple positions in a single
CPU clock cycle. These instructions
allow BITBLT operations to execute
on the 80386 in a small fraction of the
time possible on the 80286 using mul¬
tiple shift instructions.
• Support for 32-bit operands and ad¬
dresses has been added to the instruc¬
tion set. The 32-bit operand capabili¬
ties are available in all modes of the
80386. In real mode, the default size
of the operands and addresses is 16
bits, but can be overridden by a pre¬
fix byte. This is necessary to maintain
full compatibility with programs de¬
veloped for the 8086/88 and 80286. In
protected mode, operand and address
size is governed by a bit in the seg¬
ment descriptor. Use of the 32-bit
operands and addresses in each 80386
mode is covered later.
A 4GB IMPROVEMENT
Protected mode of the 80386 features
a large linear address programming
model. Using this facility, the maximum
size of a segment can be increased to
4GB from the traditional 64KB. In this
programming model, large applications
can reside in a single protected mode
segment, thus eliminating the need for
the application to manage multiple
code and data segments.
Protected mode operating systems
such as XENIX/386 provide the linear
address programming model to applica¬
tions. The operating system sets the
maximum size of an application seg¬
ment by specifying a 20-bit segment
limit and setting the granularity bit in
the segment descriptor (see figure 5).
When this bit is set to 0, the segment
limit is specified in bytes and yields a
maximum segment size of 1MB. Byte
granularity is the default value in the
descriptor and allows compatibility with
programs written for the 80286. When
the granularity bit is set to 1, the seg¬
ment granularity is in pages (4KB per
page). This granularity yields a maxi¬
mum segment size of 4GB.
Intel has added memory paging
functions to the 80386 to allow linear
addresses (as seen by programs) to be
mapped to physical memory addresses.
This facility allows the efficient imple¬
mentation of virtual memory systems.
In virtual memory systems, the
operating system creates an environ¬
ment that allows execution of single or
multiple applications that are larger
than the installed physical memory. The
operating system stores on disk the por¬
tions of the application that are least re¬
cently used. Then, as code or data por¬
tions of the application are needed for
execution, the operating system brings
FEBRUARY 1987
57
... DELIVERS THESE ESSENTIAL FEATURES.
DOES YOUR DRMS?
MDBS III is more powerful than
most mainframe data base management
systems . and less expensive. MDBS III
was designed for serious application
developers like you. Like the developers
of Solomon III, the “Number One”
accounting system. And all the others
who demand these essential features
MDBS III provides:
DATA STRUCTURING -So flexible it
captures any data relationship you can
imagine. So comprehensive you’ll design
complex data bases faster than ever.
TRUE MULTI-USER- Few DBMSs give
you as many facilities to guard against
haphazard concurrent data modification
as MDBS III does, down to the locking
of individual data records.
PERFORMANCE- MDBS III gives you
fast data modification and retrieval plus
extensive performance tuning facilities.
DATA INTEGRITY -MDBS III pro¬
vides airtight integrity assurances. . . from
range checking to transaction-logging to
enforcement of data relationships . . all
automatically.
PHYSICAL DATA PROTECTION-
You get automatic recovery from media
as well as from physical data destruction.
DATA SECURITY —Protect your data
using passwords, encryption, and read/
write access down to the field level.
PORTABILITY- MDBS III runs on a
range of mini and micro computers,
including LANs, and supports a variety
of host language interfaces.
SUPPORT — mdbs is there when you
need us, with in-depth seminars, tele¬
phone support, individual consulting
and contract programming to help you
develop and install your applications.
Call us today at 800-344-5832 for more
information; in Canada or Illinois, dial
312-303-6300. Or write mdbs, P.O. Box 248,
Lafayette, IN 47902, TELEX 209147
ISE UR.
CIRCLE NO. 211 ON READER SERVICE CARD
mdbs is a registered trademark and MDBS III is a trademark of Micro Data Base Systems, Inc. IMS is a trademark of IBM; IDMS of Cullinet.
Adapted from Intel 80386 Data Sheet
80386
FIGURE 5J 80386 Segment Descriptor
31
SEGMENT BASE 15. . .0
SEGMENT LIMIT 15. . .0
BASE 31.. .24
G
D
0
0
LIMIT 19.. .16
P
DPL
1
S
TYPE
1 1
A
BASE 23.. .16
0 BYTE
ADDRESS
0
+ 4
BASE Base address of the segment
LIMIT The length of the segment
DPL Descriptor privilege level: 0 - 3
S Segment descriptor: 0 = system descriptor
1 — code or data segment descriptor
TYPE If system descriptor, TYPE indicates TSS, LDT, or
GATE; if code or data descriptor, TYPE indicates
reading, writing, or executing privileges
A
G
Accessed bit
Granularity bit: 1 = segment length is page
granular; 0 == segment length is byte granular
Default operation size (recognized in code seg¬
ment descriptors only): 1 = 32-bit segment;
0 = 16-bit segment
Present bit: 1 - present; 0 ~ not present
Bit must be zero for compatibility with future processors
A segment’s starting memory address, size (up to 4GB), and attributes are all given by its segment descriptor.
80386
PAGING
MECHANISM
LINEAR ADDRESS
(AS SEEN BY PROGRAM)
PHYSICAL
MEMORY PAGES
PROGRAM
CODE
AND
DATA
them into memory from disk, while re¬
storing to disk the contents of the least
recently used portions of memory. This
operation occurs transparently to the
application, which perceives the entire
program as being memory-resident.
With memory paging support, such
as that implemented in the 80386 with a
4KB page size, the operating system can
easily allocate contiguous memory to an
application simply by mapping a num¬
ber of noncontiguous physical memory
pages into the requested logical pro¬
gram space. This mapping is performed
by updating the page directory and
tables. Figure 6 shows how the page di¬
rectory and tables are used to translate
the 32-bit linear address that the pro¬
gram sees into a noncontiguous set of
physical memory pages.
A set of control registers, shown in
figure 7, governs the operation of mem¬
ory paging. Paging is enabled by setting
a bit 31 in control register CRO. Another
control register (CR3) is set by the
operating system software to point to
the location in memory that contains
the base of the page directory table.
This table, together with the page ta¬
bles, defines the translation between
the 32-bit linear address that is derived
from the segmentation model and a 32-
bit physical memory address.
The page directory is 4KB in size.
This table size allows up to 1,024 page
directory entries, each containing the
address of a page table. A page table is
4KB and allows up to 1,024 page table
entries, each containing the address of a
4KB page frame in physical memory.
Figure 8 shows how the memory pag¬
ing mechanism generates a 32-bit physi¬
cal address from the 32-bit linear ad¬
dress output by the segmentation unit.
The page table entries also contain
bits that are updated by the 80386 in
order to help the operating system
manage the memory pages. A dirty flag
is set to 1 by the 80386 whenever a
page is written to. This lets the operat¬
ing system know that the contents of
the page have been modified since the
last time it was brought in from disk.
An accessed bit also is set by the 80386
whenever a page is read or written to.
This bit allows the operating system to
determine which memory pages have
been most recently accessed.
Another feature that helps the
operating system implement memory
management functions is the use of the
present bit in the page table entries.
When a page is swapped to disk, the
operating system marks the page table
entry as not present. If an access occurs
to a page that is not present in memory,
the 80386 generates a page fault. The
FIGURE 6: Linear to Physical Address Conversion
The 80386 paging mechanism maps the program’s linear address space into physi¬
cal memory. The operating system decides how pages are mapped.
4 KB
j-
FEBRUARY 1987
59
Adapted from Intel 80386 Data Sheet
Announcing...
The First
80386 C and Fiscal
Compilers for the
Professional Developer
MetaWare, Incorporated announces the first available C and Pascal
compilers that generate protected-mode 80386 code.
For running on any 80386 machine that runs MS-DOS (e.g.. The Compaq, Deskpro 386). The compilers are functionally
identical to the well-respected 8086/286 MS-DOS High C® and Professional Pascal® compilers that have received out¬
standing reviews in such magazines as Computer Language, Dr. Dobbs and PC Tech Journal. Our compilers are currently
used by such industry leaders as Ashton-Tate, AutoDesk, Ansa and Lifetree. Now you can get them generating 80386
code.
If you have an application that requires the large 32-bit address space and the full 32-bit registers of the 80386, expand
your marketplace to the rapidly growing supply of 80386 MS-DOS machines. Contact MetaWare for your 80386 software
solution today!
903 Pacific Avenue, Suite 201, Santa Cruz, CA 95060-4429
408-429-6382 Telex: 4930879
The Clear Choice for Large Projects
High C and Professional Pascal are trademarks of MetaWare Incorporated © 1987 MetaWare.
CIRCLE NO. 259 ON READER SERVICE CARD
Adapted from Intel 80386 Data Sheet
80386
FIGURE 7: 80386 Control Registers
31
30
5
4
3
2
1
0
CRO
PG
w
ET
TS
EM
MP
PE
CR1
_ IMTCI DCCCD\/Cn
CR2
PAGE FAULT LINEAR ADDRESS
CR3
PAGE DIRECTORY BASE ADDRESS
0
0
0
0
0
0
0
0
0
0
0
0
12 0
PG Paging enable; ET Processor extension; TS Task switched; EM Emulate coprocessor ; MP Monitor coprocessor ; PE Protection enable
CRO regulates memory management and coprocessor handling. CR1 is reserved by Intel. CR2 is set by the 80386 to the linear
address that last generated a page fault. CR3 is the physical address of the page directory, which is always page-aligned.
fault signals the operating system that
the page whose linear address is stored
in control register 2 should be brought
into memory. As the page is brought
into memory, the operating system up¬
dates the page table entry as present
and returns from the page fault to per¬
form the desired memory access.
To support the memory paging
functions without accessing the page di¬
rectory tables on each memory access,
the 80386 contains an internal 32-entry
cache called the translation lookaside
buffer (TLB). This cache automatically
keeps the address of the 32 most re¬
cently used page table entries for
speedy look-up during memory access¬
es. The operating system must flush the
contents of the cache whenever a page
table entry is marked not present in or¬
der to maintain coherency between the
cache and the pages present in mem¬
ory. The contents of the cache are
flushed whenever CR3 is written to.
When the TSS data structures are
used by the operating system to per¬
form task management functions, the
address of the page directory (CR3) as¬
sociated with a task is saved in its TSS
when a task context switch is per¬
formed. Because a single page directory
entry has the capacity to address a full
page table of 1,024 entries (4MB of
memory), it is doubtful that an entire
page directory would be assigned to
each task. A single page directory entry
per task should suffice in most cases.
The 80386 offers I/O permission
functions that are an extension of the
I/O protection level (IOPL) mechanism
found on the 80286. The basic IOPL
mechanism prevents applications with
low privilege levels from accessing any
I/O device without the intervention of
the operating system. This mechanism
has been extended on the 80386 to al¬
low the operating system to specify the
I/O devices (I/O addresses) that it wants
to protect from direct access by applica¬
tions. This capability is useful in the
80386’s virtual-8086 mode (described
later) where it prevents direct access to
I/O devices by 8086/88 applications and
simulates low-bandwidth I/O devices.
The I/O devices to be protected by
an operating system are specified via
the I/O permission bit map, a variable
length map where each bit corresponds
to a byte I/O port address. When I/O
operations are performed to a device
address whose corresponding I/O per¬
mission bit is 1, control is transferred
by the 80386 to the operating system
via a general protection fault. The oper¬
ating system then can take the appro¬
priate action to protect or simulate a
specific I/O device at the accessed I/O
address. The base address of the I/O
permission bit map is contained in the
active TSS and is automatically saved on
a task context switch. Because each task
is likely to have access to different de¬
vices, each task should normally have
its own I/O permission bit map.
MODES OF OPERATION
Real mode is the default mode of the
80386 upon reset. This allows the 80386
to begin execution in a manner compat¬
ible with the 8086/88 and 80286. The
memory addressing mechanism, 1MB
memory limitation, and 64KB-maximum
segmented programming model are
identical to real mode in the 80286.
Most programs written for the 8086/88
and 80286 should run without modifica¬
tion. For a discussion of trouble areas,
see the sidebar “Programming Consid¬
erations for the Intel Family.”
The key distinction between 80386
real mode and that of its predecessors
is its support of 32-bit operands and ad¬
dresses in the instruction set. By using
override instruction prefixes for oper¬
and size and address size, the 16-bit de¬
fault nature of instruction operands and
addresses can be specified to be 32 bits
in size. The specification of 32-bit oper¬
ands yields significant performance ben¬
efits in arithmetic and memory transfer
operations. The 32-bit addressing fea¬
ture is less important in real mode due
to the maximum segment limit of 64KB
and the 1MB physical address limitation,
but it does allow the use of the ex¬
tended addressing specifications, such
as scaled indexing with the full register
set available as base and index.
The operand size prefix (66H),
when used preceding an instruction in
real mode, indicates that the operands
to be used are 32 bits. For example,
when the instruction MOV AX,BX is pre¬
ceded by the operand size prefix, the
result is an instruction that moves the
32-bit register EBX to EAX. Similarly,
the address size prefix (67H) can be
used on individual instructions to spe¬
cify extended addressing and can be
used in combination with the operand
size prefix. With both the operand size
and address size override prefixes, an
instruction can be created, such as
MOV EBX, [EAX] [ESI*4] ARRAY + 80
This specifies a base value (EAX), a
scaled index value (ESI * 4), and a dis¬
placement (ARRAY + 80) that are com¬
bined to form an offset, the 32-bit con¬
tents of which are placed into the EBX
register. Other improvements are avail¬
able in 80386 real mode. For more in¬
formation, see the sidebar “Making the
Most of the 80386 Today.”
Protected mode in the 80386 offers
a superset of the functions found in that
mode in the 80286. The privilege-level-
based memory and I/O protection sys¬
tem, 8- and 16-bit operand modes, and
64KB-maximum segmented program¬
ming model of the 80286 are supported
in the 80386’s protected mode. In addi¬
tion, memory paging, large linear ad¬
dress space, and the I/O permission bit
map can be used in protected mode.
The TSS, introduced in the 80286,
now includes data defined by the oper-
FEBRUARY 1987
61
80386
.
FIGURE 8: 80386 Memory Paging Mechanism
A two-level scheme is used to access a page. In a linear address, bits 22—31 act as
an index into the page directory, selecting a page table. Bits 12—21 index into the
selected page table to designate the page. Bits 0-11 give the offset into the 4,096-
byte page. A page cache is used to avoid this look-up for commonly used pages.
ating system software as well as the
hardware registers. The 80386 I/O per¬
mission bit map, which allows precise
control over I/O port usage, is also con¬
tained in the new TSS.
The 80386 protected mode in¬
cludes a more effective mechanism to
switch to real mode. In the 80286, pro¬
tected mode is entered by setting the
protection enable (PE) bit in the ma¬
chine status word. Once set, the PE bit
in the 80286 cannot be reset. The 80286
must be reset to return to real mode,
an operation taking hundreds of micro¬
seconds. The 80386 can be returned to
real mode simply by resetting the PE bit
in control register 0.
The 80386 protected mode pro¬
vides a programming environment fully
compatible with that of the 80286; 16-
bit protected mode applications can be
executed because the segment descrip¬
tors function the same as those on the
80286 when initialized for use by pro¬
grams for the 80286. For example,
when initialized for use by such a pro¬
gram, the granularity (G bit) in the seg¬
ment descriptors (see figure 3) is set to
0, indicating byte granularity. This yields
memory segments compatible with the
64KB maximum limit of the 80286. Sim¬
ilarly, the default operation size (D bit)
is set to 0, indicating the use of 16-bit
operands and addresses equivalent to
those of the 80286.
When 80386 descriptors are initial¬
ized for use by programs developed for
the 80386, the additional capabilities of
protected mode can be enabled to
create a 32-bit programming environ¬
ment. Full 32-bit applications (using 32-
bit operands and addresses) can exe¬
cute without instruction prefixes, as is
the case in real mode. In addition, the
32-bit programming environment pro¬
vides data segments of 4GB maximum
size by selecting the page granularity in
the corresponding descriptors.
Combined, the 16-bit compatibility
features and additional functions of
80386 protected mode make it ideal for
multitasking operating systems support¬
ing a variety of programming environ¬
ments. An operating system can provide
a virtual memory multitasking environ¬
ment capable of concurrently executing
16- and 32-bit protected mode applica¬
tions. The nature of each application
(16- or 32-bit) is determined by the
configuration of its segment descriptors.
FULL FAMILY COMPATIBILITY
When combined with virtual-8086 mode
(an extension of protected mode), the
80386 provides compatibility with appli¬
cations developed for the 8086/88 while
simultaneously providing a full, 32-bit,
large linear address programming envi¬
ronment in its protected mode. With
this capability an operating system can
provide a multiplicity of programming
environments that span those in the en¬
tire Intel microprocessor family. This
family compatibility makes virtual-8086
mode one of the most significant ad¬
vances of the 80386. (Virtual in this
context refers to a technique whereby
an entire processor environment, or
machine , is transparently simulated;
the term should not be confused with
virtual memory techniques used in
demand-paged operating systems.)
Virtual environments have histori¬
cally been used as bridges to provide
upward compatibility with existing ap¬
plications while offering a new environ¬
ment with enhanced functions and per¬
formance. An example of this concept is
IBM’s virtual machine (VM) operating
system architecture for its mainframe
systems. VM allows existing applications
to be used for production work while
new applications that take full advantage
of the features of the new machines are
being developed.
Virtual-8086 mode allows virtualiza¬
tion of only a real mode environment.
Applications for the 8086/88 can exe¬
cute transparently in virtual-8086 mode
under control of a protected mode
operating system. These applications
perceive that they are running in real
mode while actually executing in vir¬
tual-8086 mode. Virtual-8086 mode,
however, does not provide for execu¬
tion of 80286 or 80386 protected mode
software under supervision of a higher-
level program—no level exists that is
logically higher in privilege than 0. The
80386 does not allow a protected mode
operating system to execute under the
control of another like system.
Technically, virtual-8086 mode is
a subset of protected mode and is en¬
abled by setting the VM bit in the flags
register (see figure 3). In a multitasking,
protected mode operating system, vir¬
tual-8086 mode is enabled when an
8086/88 application is executed. The
primary difference between virtual-8086
and protected modes is in the interpre¬
tation of the segment registers. In vir¬
tual-8086 mode, the normal protected
mode segmentation unit is bypassed
and the linear address is calculated as it
is in real mode—the segment register
value is shifted left by 4 bits and added
to the offset. Although the 32-bit ad¬
dressing modes are allowed in virtual-
8086 mode (by use of instruction pre¬
fixes), segments are still limited to
64KB, limiting the value of 32-bit ad¬
dressing. The 64KB limitation also
means that virtual-8086 mode address¬
ing is confined to the same 1MB physi¬
cal address of the 8086/88.
Applications that are designed for
the 8086/88 execute transparently in vir¬
tual-8086 mode. The main difference
between execution in virtual-8086 and
real modes is that in virtual-8086 mode
all interrupts are vectored through the
protected mode interrupt descriptor ta¬
ble (IDT). When a hardware, software,
or processor trap interrupt occurs, the
IDT entry for that interrupt, typically an
interrupt or task gate initialized by the
protected mode operating system,
causes the VM bit to be reset. The inter¬
rupt handler, executing in protected
mode, can either take care of the inter¬
rupt itself or reflect the interrupt back
62
PC TECH JOURNAL
Adapted from Intel 80386 Data Sheet
K:
software developed for
C^ i^ixfoer of die Intel microproees- I
sOr faa% executes without modifica¬
tion on die others. However, when a
Software product Is under develop¬
ment, the developer should follow a
few rules to ensure the product s up¬
ward compatibility and its migration
to die higher-performance members
of the laniHy. Some generally accepted
guidelines are listed here.
♦ A program that is intended to run
on all Intel processors should be
witten to the least common denom¬
inator, the 8086/88.
♦ Any use, implicit or explicit, of the
values of registers, flags, or data
structures that are declared unde¬
fined or reserved in the Intel docu¬
mentation should be avoided. For
example, a program that uses die re¬
served fields of an 80286 descriptor
most likely will not run on an
80386. The multiply (MUL) instruc¬
tion provides another example? the
state of the zero Bag is toed as un¬
defined following the execution of
MUL. A program that depends on
die state ofthe zero flag after MUL is
executed on one member of the
family may behave differently when
run on another member,
♦ A program should not depend on
the power-on state of processor reg¬
isters. The value of the various regis¬
ters and flags after reset is different
on&edifferent processors. The pro¬
gram should explicitly load the re¬
quired register values.
Instruction ppcode^ fhat are not ex¬
plicitly ckx^ftenfol fn the Intel lit¬
erature should not tb used. An op¬
code that is not patfof the sup¬
ported instructktfi set for a particu¬
lar processor may be defined differ¬
ently in a later processor, even if the
opcode appeared ttvhave a function
in the earlier processor.
An application shotjld not contain
seff-modifying oodfc#tie to the dif¬
ference in length for
the variot^JHOcc^pr^ an instruc¬
tion modification sequence that
works correctly on xme processor
may not modify the h&get instruc¬
tion until after it hasfeeen pre¬
fetched on a differed! processor. In
this case, tli^ tmmc3^|ed instruction
would be executed timber then the
modified iniitietioiL
Because of increases in clock speed
and optimisations In the architec¬
ture, the 8B|8 '$ am 180386 tend to
execute specific ccafe sequences sig¬
nificantly faster thanthe 8086/88. In
addition, s^fems toed on the same
processor may ran at different clock
speeds. Anf fiptte ta interacts with
realtime evefi& or impends on its
execution tip? to perform its func¬
tion shouldtise a timing source that
is independent of the processor
dock speec^jlbtecttt^^
pendent timing services are typically
provided by the operating system
and/or a hardware timer.
Each peripheral chip or controller
in a system has a minimum I/O re¬
covery time—that is, the time re¬
quired by that peripheral between
successive I/O cycles. If a peripheral
was designed for operation in an
8086/88 system, this minimum I/O
recovery time may be violated when
the peripheral is used in the pipe¬
lined bus architecture of an 80286-
or 80386-based system. In general,
8086/88 I/O speed can be simulated
by inserting a JMP $-f2 instruction .
between successive I/O cycles to the
same peripheral.
• Routines for the 80286 and 80386
should not be sensitive to the state
of the PE bit in the machine status
word Although the 80386 virtual-
8086 mode runs with real-mode se¬
mantics, it executes with the PE bit
set in the machine status word indi¬
cating protected mode. The visibility
of the PE bit via the store machine
status word (SMSW) instruction may
cause problems for dual-mode
code~-that is, code that attempts to
act differently based on whether the
processor is executing in real or
protected mode.
Most of these guidelines are
based on common sense; nonetheless,
many applications violate one or more
of them and therefore foil on one of
the Intel processors. One reason may
be that the application has been de¬
bugged and tested on one processor
before another processor is available.
In all cases, the appropriate Intel liter¬
ature should be consulted.
—Caldwell Crosswy and Mike Perez
to the code that normally would have
been invoked in the 8086/88 applica¬
tion. This reflection is accomplished by
retrieving the appropriate target address
from the 8086-equivalent interrupt vec¬
tors (the table of 4-byte vectors starting
at virtual address 00000000), manipulat¬
ing the stack frame to contain the ad¬
dress of the 8086/88 interrupt handler,
and returning to virtual-8086 mode. The
interception and reflection of interrupts
is one of the basic functions of a pro¬
tected mode operating system supervis¬
ing the execution of an 8086/88 applica¬
tion in virtual-8086 mode.
The other differences between vir¬
tual-8086 and real modes involve privi¬
leged instructions, IOPL sensitivity, and
I/O permission. The ability to control
the use of privileged instructions and
access to I/O devices in virtual-8086
mode allows the operating system to
maintain concurrency between 8086
and protected mode applications.
Privileged instructions cause a gen¬
eral protection fault if executed at a
privilege level other than 0. Because
code executes at privilege level 3 in vir¬
tual-8086 mode (real mode implicitly
executes at level 0), these instructions
trap to the operating system, which exe¬
cutes at level 0. Load machine status
word (LMSW) and load global descrip¬
tor table (LGDT) are examples of privi¬
leged instructions. Execution of these
instructions typically indicates a pro¬
gram’s intent to enter protected mode.
An application that executes these in¬
structions is usually aborted by the
operating system because protected
mode applications are not allowed to
execute in virtual-8086 mode.
Sensitive instructions are those
whose operation is affected by the cur¬
rent IOPL. Again because virtual-8086
mode code runs at privilege level 3, the
2-bit IOPL field in the flags register (fig¬
ure 3) must be set to 3 to avoid traps
on these instructions. The sensitive in¬
structions in virtual-8086 mode are soft¬
ware interrupt (INT), interrupt return
(IRET), and push and pop flags (PUSHF/
POPF). Though INT is IOPL-sensitive in
both protected and virtual-8086 modes,
PUSHF, POPF, and IRET are sensitive
only in virtual-8086 mode. This allows
the operating system to keep track of
and virtualize the interrupt flag. For ex¬
ample, an 8086/88 application can at¬
tempt to disable hardware interrupts
with the clear interrupt flag (CLI) in¬
struction. The operating system can
make interrupts appear disabled to the
application and continue to handle
hardware interrupts necessary for oper¬
ating system administrative functions
FEBRUARY 1987
63
The 3-in-l applications development tool
for every Tom, Dick and Harriett
Presenting the first database
applications development tool
that delivers the promises of
4th-generation lan¬
guages on the micro¬
computer.
It’s SIMPLE Software.
SIMPLE stands for SYSTEM
IMPLEMENTATION by EXAMPLE: and
it delivers the absolute best balance
of power and ease-of-use.
SIMPLER THAN EVER BEFORE.
SIMPLE lets you jump in at any level
of experience and unleash the full
processing power of the PC. It has a
totally non-procedural way of doing
things that flattens-out the learning
curve. You can automate everyday
business tasks or prototype new
applications without ever having to
write a single line of procedural code.
SIMPLE enables experienced
programmers to achieve higher levels
of productivity. And for developing
mainframe applications, SIMPLE is
the perfect prototyping tool—com¬
bining ease-of-use, speed, and high-
quality system documentation.
YOU GET 3-IN-l.
1. IT'S A DESIGN TOOL
SIMPLE allows you to quickly proto¬
type applications on the microcom¬
puter—sit right down and draw, edit,
and specify processing logic with a
few keystrokes. SIMPLE aids in the
process of structured design by
organizing development efforts in a
building-block fashion. Experienced
developers move quickly and easily
from task to task. Less experienced
users are literally guided through
the entire applications development
process.
2. IT’S A RELATIONAL DATABASE
MANAGER.
SIMPLE offers exceptional speed per¬
formance. It is written in Assembler
and incorporates a highly optimized
B-tree data access method that elim¬
inates record sorting. SIMPLE also
uses a dynamic single-record index.
You can have an unlimited number
of indices in any record. Each index
may be either a single or concate¬
nated key. SIMPLE’s relational joins
are easy to construct and more
efficient to process. Joins are accom¬
plished dynamically at time of proc¬
essing and support one-to-many and
many-to-many relationships.
3 . IT’S AN APPLICATIONS
GENERATOR.
It is the most practically functional
applications generator on the market
today. SIMPLE is completely non¬
procedural, never forcing you back
to procedural methods, letting you
accomplish even the most complex
databased applications in the most
easy-to-use-and-understand fashion.
A SINGLE, VISUAL 4GL
LANGUAGE. _
Uniquely, every step in program
development from input screens, to
reports, to complex processing logic
is accomplished in SIMPLE’s all-visual
worksheets. It is fully non-procedural
and totally picture-oriented. Design
right on the screen, and SIMPLE’s
built-in pattern-recognition logic
automatically generates all the appli¬
cation code for you. You never have to
leave SIMPLE’s 4GL non-procedural
technique.
POWERFUL WORKSHEETS.
SIMPLE provides three powerful,
yet easy-to-learn worksheets—a File
Worksheet, Specify Worksheet and
Design Worksheet. You need only
to define a file, then SIMPLE creates
the basic program for you. Enhance¬
ments are done on SIMPLE’s Design
and Specify Worksheets.
In the Design Worksheet, you
simply paint or draw an example of
the input screen or report you want.
Company Managers like
Tom easily develop custom¬
ized applications like this
Branch Reporting System
which reports information
from support service calls.
Tom now has a system which
validates certain information
and provides a customer his¬
tory to improve the branch’s
support capabilities. With
SIMPLE’s Specify Worksheet on
screen, Tom simply joins data
from four different files and
establishes their relationship.
Information Center Staff
Members like Dick easily
create new microcomputer
applications systems like this
Lead-Tracking System. Dick
is able to sit down with the
Director of Marketing and
review the main entry screen
developed on SIMPLE which
shows the prospect demo¬
graphic information, the
media source and date from
which each lead was gener¬
ated, and the fulfillment liter¬
ature to be sent.
System Analysts/Pro¬
grammers like Harriett
easily prototype design
changes while interacting
with Department Heads. Har¬
riett has prototyped some
requested changes in a Main¬
frame Payables System. With
the help of SIMPLE, she has
built a test database with
data imported from the main¬
frame and is able to review
the check-ledger report, in
the Controller’s office on her
portable computer.
The Design screen may be painted
exactly as you want using SIMPLE’s
built-in, full-screen editor which
offers a wide range of capabilities
to aid you—including the ability
to delete or insert a character or an
entire line, move or copy blocks of
information, lasso text or variables,
and window to other worksheets
in one or two keystrokes. Powerful
specification macros are invoked pro¬
viding application users the ability
to pop-up a window and browse
through another file, interrupt data
entry to perform another program,
provide context-sensitive help, and
perform conditional processing
based on the user’s input.
In the Specify Worksheet, you
implement your processing logic. You
never have to fall back to procedural
programming to get the processing
power you need. Range checking and
data validation are easily implemented,
visually. Conditional processing
statements are quickly set up.
Arithmetic operators, date operators,
and a full set of string functions are
available. You specify an example of
how you want your data processed,
and SIMPLE creates the program.
A POWERFUL MENU GENERATOR.
SIMPLE’s power gives you the easy
flexibility to generate unlimited
levels of user-guidance menus, as
your applications require. There are
limitless design options for effective
“point-and-shoot” menu creation.
And you have total freedom to build
menus before, during or after devel¬
opment, unmatched in other systems.
SIMPLE, SIMPLER, SIMPLEST.
Ask for SIMPLE at your computer
dealer. Or call us direct for the dealer
nearest you and a full-functioning
SIMPLE demo package with a Quick-
Start manual for only $9-95*
* Includes shippingand handling. California residents add sales tax.
SYSTEM IMPLEMENTATION BY EXAMPLE is a registered
trademark of Accuphase, Ltd.
IBM PC is a trademark of International Business
Machines. Corp.
rw^r
D SIMPLE
SYSTEM IMPLEMENTATION BY EXAMPLE' M
Published by Software Merchants Unlimited
Software Merchants Unlimited
2252 Fillmore Street, Suite 401
San Francisco, California 94115
415-567-5071
CALL 800-8 SIMPLE
CIRCLE NO. 120 ON READER SERVICE CARD
80386
MAKING THE MOST OF THE 80386 TODAY
Although operating systems that fully
support the features of the 80386 may
not be available today, the program¬
mer can take advantage of many 80386
features in real-mode programs now.
• Many instructions such as the imme¬
diate forms of ADD and SUBtract
have been optimized by directly de¬
creasing the number of cycles re¬
quired for execution. Others such as
MULtiply execute in fewer average
cycles due to internal algorithm op¬
timizations. Nothing special is re¬
quired of the programmer to invoke
these improvements; they are built
into the 80386 architecture.
• The operand size prefix (66H) can
be used to achieve 32-bit data opera¬
tions. This allows the programmer
to take advantage of the extended
32-bit register set for 32-bit arithme¬
tic and logic operations. For exam¬
ple, DB 66H / ADD AX,BX is equiva¬
lent to ADD EAX,EBX. The operand
size prefix also can be used to
speed data manipulations by taking
advantage of the full 32-bit width of
the 80386 internal and external data
paths. One of the most dramatic im¬
provements to existing code can be
realized by the use of a 32-bit re¬
peated string move instruction (REP
MOVS) in block move operations.
• Two additional segment registers, FS
and GS, are available along with the
instructions needed to manipulate
them. No explanation of the desir¬
ability of extra segment registers is
necessary to anyone who has pro¬
grammed the Intel family.
• The new double-shift instructions,
SHLD/SHRD, allow the manipulation
of full-width (32-bit) bit strings with¬
in a double-width (64-bit) bit space.
This allows the efficient implementa¬
tion of such graphics primitives as
BITBLT. Because the maximum shift
entity on the 8086/88 and the 80286
has been 16 bits, routines such as
BITBLT have typically been limited
to 8-bit manipulations.
• A full set of conditional jumps with
16-bit displacements is provided.
This eliminates the awkward instruc¬
tion sequence often required (jump¬
ing around a jump) when the desti¬
nation of a conditional jump is more
than 127 bytes away.
• The move with sign-extension
(MOVSX) and move with zero-exten¬
sion (MOVZX) instructions allow
small operands to be moved into
larger ones in a single instruction
with automatic size conversion. The
high-order part of the destination is
filled with the high bit of the source
or zeroes. These may be most useful
in manipulating the 32-bit register
set, but they also allow functions
such as MOVZX DI,AL to be done in
a single instruction.
• A complete set of single-bit instruc¬
tions alleviates the time-consuming
masking and test-and-set/reset oper¬
ations that characterize many oper¬
ating system primitives, such as
manipulating the bits in a task’s
status word. Having a single-instruc¬
tion implementation assures the in¬
divisible execution of these func¬
tions, freeing the programmer from
the overhead of framing the opera¬
tion with the typical CLI/STI.
• The byte set on condition instruc¬
tions set the destination operand to
0 or 1 depending on the setting of
the specified condition flag. This is a
useful function for high-level lan¬
guage interfaces that pass status in¬
formation in registers or memory
rather than in the CPU flags. These
instructions provide direct transla¬
tion from CPU status to a byte regis¬
ter or memory operand.
• Although addressing is limited by
real-mode semantics to 64KB seg¬
ments and a 1MB address space, the
address size prefix (67H) allows the
use of the extended addressing
modes of the 80386 in real mode.
When the address size prefix is
used, any register can be used as
base and index registers, with or
without the scaling options. The
coding of the Mod R/M byte is dif¬
ferent in this case, making manual
encoding difficult.
• A single-precision uncharacterized
multiply instruction complements
the immediate form of IMUL that
was added to the 80286, but re¬
moves the implicit register charac¬
terization; therefore, the destination
operand can be specified as some¬
thing other than the AX register.
• New debug registers allow the im¬
plementation of a software debugger
with hardware debugging capabili¬
ties. The debug registers can be pro¬
grammed to cause a trap when a
specific memory location is read or
written or when an instruction is ex¬
ecuted at that address. This capabil¬
ity previously required external
breakpoint hardware.
Selective use of these features can
result in applications that achieve high
performance relative to the 8086/88
and 80286. It may be desirable, how¬
ever, for the same application to exe¬
cute on all members of the Intel fam¬
ily. One approach is to optimize por¬
tions of an application that benefit
most from the features of the 80386.
These optimized portions would be
executed only when the application is
run on an 80386-based system.
—Caldwell Crossivy and Mike Perez
(such as system timers) and other con¬
current protected mode applications.
The I/O permission facility allows
the operating system to control selected
I/O ports. The operating system can set
up an I/O permission bit map in the
TSS corresponding to the virtual-8086
mode application. The bit map can de¬
fine specific I/O ports as protected. Any
IN or OUT instructions that refer to a
protected I/O port will trap to the oper¬
ating system, which can either emulate
or directly execute the instruction.
In all these cases, the operating
system decides whether or not a partic¬
ular instruction will appear to be exe¬
cuted. This action is totally transparent
to the program running in virtual-8086
mode—as far as the program is con¬
cerned, an emulated instruction appears
to have been executed by the 80386 mi¬
croprocessor. The only potential differ¬
ence is that simulated instructions or
operations may take longer to execute.
Through the use of the 80386’s
paged memory management features,
an operating system can allow more
than one 8086/88 machine to be simu¬
lated at a time, thus permitting multiple
8086/88 applications to coexist with
each other as well as with 32-bit appli¬
cations. This capability would typically
be used in concert with hardware simu¬
lation so that each application would
see an entire machine, complete with
the simulated, peripheral hardware.
To simulate the programming envi¬
ronment of one or more 8086/88 ma¬
chines, the operating system would pro¬
vide support for interrupt handling and
for the instruction and I/O emulation
just as outlined above. In the case of a
single, virtual-8086 environment, mem¬
ory paging would not be enabled and
the single virtual-8086 machine would
FEBRUARY 1987
65
Adapted from Intel 80386 Data Sheet
80386
FIGURE 9 - Virtual-8086 Mode Memory Management
The paging mechanism gives each virtual-8086 task a 1MB linear address space.
Read-only areas, such as the 8086 operating system, can reside on shared pages
used by all virtual-8086 tasks. Unused pages can be omitted from physical memory.
INTEL REFERENCES
For further reference, the following literature can Be obtained from the Intel
Corporation by calling this toll-free number: 800/548-4725.
ORDER
PROCESSOR TITLE NUMBER PRICE
8086/88
The iAPX 88 Book
210200
$20.95
80286
Introduction to the iAPX 286
210308
No charge
iAPX 286 Programmer's Reference
210498
20.93
iAPX 286 Hardware Reference
210760
20.95
iAPX 286 Operating System Writer's Guide
121960
50.00
80386
Introduction to the 80386
(including the 80386 Data Sheet)
231746
No charge
80386 Programmer's Reference
230985
25.00
80386 Hardware Reference
231732
25.00
80386 System Software Writer's Guide
231499
$23.00
80386 Data Sheet
231630
No charge
execute in the first physical megabyte of
memory, just as it would in real mode.
The operating system would normally
reside in memory past the first (physi¬
cal) megabyte or in reserved and/or
protected memory within the first
megabyte of memory. If multiple 8086/
88 machine simulations are desired, or
if it is necessary to execute a single
8086/88 machine in a physical location
other than the first megabyte, then the
paging mechanism must be enabled.
Because the segmentation unit is
bypassed in virtual-8086 mode, the pag¬
ing unit is the only memory manage¬
ment method available to virtual-8086
mode programs. The paging mechanism
allows the 1MB address space of virtual-
8086 mode to be simulated anywhere
in physical memory'. Via memory paging
the 1MB contiguous memory space of
virtual-8086 mode can be created from
up to 256 physical memory pages (1MB
address space / 4KB per page). Each of
these pages can be located anywhere
within the 4GB physical address space
of the 80386 and need not be physically
contiguous, allowing great flexibility.
Using the 80386 memory paging
functions, a demand-paged operating
system can manage memory for multi¬
ple virtual-8086 mode machine simula¬
tions concurrently with protected mode
applications. Memory paging also can
be used to allow each 8086/88 machine
simulation to have access to common
routines and data, such as a system
ROM, by making the physical ROM ap¬
pear in the memory space of each
simulated machine. Actually, only one
ROM exists, but each machine sees it at
the expected address within its 1MB ad¬
dress space. Figure 9 shows how the
80386 paging mechanism enables multi¬
ple virtual-8086 machines to be man¬
aged; a single copy of the 8086/88 oper¬
ating system is made to appear in the
address space of both machines.
VIRTUAL PERFORMANCE
The performance of applications exe¬
cuted in virtual-8086 mode is typically
lower than in real mode in the same
processor, because an operating system
is intervening to handle interrupts and
emulate certain instructions. The trap
operation alone usually takes signifi¬
cantly longer to execute than the in¬
struction that caused it. To this is added
the execution time of the code that
saves and restores machine state and
emulates the instruction. Fortunately,
the instructions that must be emulated
are relatively few in number and fre¬
quency of occurrence. The primary im¬
pact is in interrupt-intensive programs,
because straight code tends to execute
unimpeded in virtual-8086 mode.
Like the instructions themselves,
simulated hardware should not be ex¬
pected to have the same performance
as the actual hardware. Differences in
performance depend upon the device
used. Performance is also affected when
simulating more than one 8086/88 ma¬
chine at a time.
The 80386 provides unprecedented
compatibility with previous members of
the Intel family while providing the ad¬
vanced functions required for the devel¬
opment of sophisticated virtual memory
operating systems in which 8086/88 ap¬
plications can coexist with 16- and 32-
bit protected mode applications. Even
without such advanced operating system
software, it is possible to take advantage
of the 80386 by using its new instruc¬
tions and 32-bit data manipulations. Fu¬
ture software advances will unlock the
full power of the 80386. limimini^l
Caldwell Crosswy is a senior systems engi¬
neer, and Mike Perez is a systems engineer¬
ing manager with Compaq Computer Corp.
66
PC TECH JOURNAL
“One of the
primary reasons the
Computer Press Association
was formed was to promote
high standards of writing
in computer journalism.
It’s time to reward those
who do it best.”
Hal Glatzer
Vice President
Computer Press Association
\ £&&%&*
\\ ^c?' (5 ,,, t « c V i ^
<> e9 S> es
HJAISTRATION • ANDY LEVINE
Microsoft Windows provides a usable, flexible
environment for application development.
An examination of the Development Kit
and a sample application demonstrate the
great promise this product holds.
M icrosoft Windows may be the most significant micro¬
computer software development product of the de¬
cade. It promises to free users and developers from
device dependencies, make programs easier to use, and pro¬
vide a compatibility bridge to future hardware and software.
Windows is an extension to DOS that adds multitasking,
memory management, and additional operating system func¬
tionality. As its name implies, users interact with applications
via a visual interface—a window —several of which can be
displayed on the screen at the same time provided the user is
running well-behaved standard applications or others devel¬
oped specifically for Windows.
Putting another layer of operating software between pro¬
grams and the hardware on which they run has an impact on
performance. The more advanced the system, however, the
less the impact of the additional layer. Windows must be run
on a PC/AT or compatible, or at least a PC/XT with an acceler¬
ator board, in order to be useful. A Windows application such
as Windows Draw will run on a dual-diskette PC with 320KB,
but most users will find it unacceptably slow. The addition of
a hard-disk drive or an expanded-memory board will make
such a product usable, but more advanced hardware is neces¬
sary to truly benefit from Windows.
Developers of applications for Windows have no choice
but to use high-performance hardware. A typical Windows
PC TECH JOURNAL
— 1 -
ifcsf
FEBRUARY 1987
WINDOWS
development machine consists of an AT
with a 20MB hard disk and 2MB of ex¬
panded memory. Following is a com¬
plete list of system requirements:
• An XT, AT, or compatible that sup¬
ports Microsoft Windows
• 512KB of memory
• Diskette drive configured as drive A:
• Hard-disk drive configured as drive C:
(or second diskette drive that is con¬
figured as drive B:)
• Graphics monitor
• IBM Color Graphics Adapter (CGA),
IBM Enhanced Graphics Adapter
(EGA), or Hercules-compatible
graphics adapter
• Mouse (although recommended, one
is not required)
• Additional monochrome monitor with
display adapter or an external console
connected to a serial port (for use as
an aid in debugging)
Practically speaking, the more
memory and disk space and the faster
the processor, the bigger the payoff in
reduced compilation times and greater
programmer productivity. Consider a
typical program compilation that takes
30 minutes on a 6-MHz AT: the same
compilation takes only 10 minutes on a
Compaq Deskpro 386. While 80286-
based machines certainly are acceptable
for Windows application development,
80386 machines improve performance
significantly over that of ATs.
Developing for Windows also re¬
quires DOS 2.1 or later, Microsoft Win¬
dows 1.03, the Microsoft Windows Soft¬
ware Development Kit, a development
language with bindings for Windows,
and a program or text editor. Only
Microsoft C 4.0, Pascal 3-3 or later, and
Macro Assembler (MASM) 4.0 currently
have the necessary runtime libraries to
support Windows.
Before writing the source code for
a Windows program, a developer must
understand the Windows processing
model and how it differs from the stan¬
dard DOS model. Current DOS-based
applications take control of the com¬
puter when invoked and return control
to DOS when they request services
from DOS and when they terminate.
Even terminate-and-stay-resident appli¬
cations assume control when started by
the user and relinquish it when the
user returns to the primary application.
Windows, on the other hand, uses
cooperative multitasking and shares
available hardware resources among
programs executing simultaneously. It
takes complete control of a computer’s
memory, display screen, keyboard,
mouse, and timer, managing them
among all running applications. Win¬
dows, not the application program, is in
control. Windows differs from DOS in
that it provides improved memory man¬
agement, nonpreemptive multitasking, a
graphics device interface, dynamic data
exchange, and clipboard data transfer.
In some respects, Windows func¬
tions in a manner analogous to an on¬
line, realtime, mainframe transaction
processing environment such as IBM’s
CICS (Customer Information Control
System). CICS applications and Win¬
dows applications share many process¬
ing concepts, foremost among them is
reentrant programming.
Program reentrance allows multi¬
ple copies of the same program to be
executed simultaneously by the operat¬
ing environment without interfering
with each other or with other applica¬
tions currently running on the same
processor. Reentrant programs must not
modify themselves as they execute and
must place all user-specihc variables in
a separate and distinct data segment.
In an environment such as CICS,
multiple users on different terminals
may be executing the same transactions
at once. For example, hundreds of bank
tellers may be processing demand de¬
posit account (DDA) transactions at the
same time. All users are served by a sin¬
gle copy of the application; however, a
separate data segment is reserved for
each. Windows is similar, yet different.
A typical Windows develop¬
ment machine would consist
of an IBM PC/AT with a
20MB hard-disk drive and
2MB of expanded memory.
A single Windows user may be execut¬
ing multiple copies of the same pro¬
gram, called instances , at the same
time—such as two instances of the DOS
executive being used to view two direc¬
tories simultaneously.
Windows manages events and
issues messages. An event is an input or
a programmed action about which a
Windows application might need to
know: a mouse click in a window, a key
stroke, or a message issued by one ap¬
plication to another. Windows programs
are collections of message-processing
subprograms. Each Windows program
has a main function (WinMain) and one
or more window functions. WinMain is
the executive that controls the execu¬
tion of the applications, determines
how input should be processed, and di¬
rects the execution of the application’s
window functions, which are applica¬
tion-specific processing functions. A
window function processes any mes¬
sages relayed to it by WinMain, displays
and maintains any windows that belong
to it, and provides for interaction with
other windows and applications.
Windows places a* message in an
application queue whenever special ac¬
tions need to be taken that affect a win¬
dow belonging to that application. The
queue belongs to an individual applica¬
tion and is arranged on an FIFO (first-
in/first-out) basis. The main function of
an application retrieves the message
from the queue and sends it to the ap¬
propriate window function.
Each message-processing subpro¬
gram in a Windows program can be
thought of as a stand-alone program de¬
signed to process a specific message.
Many messages are common to all Win¬
dows programs and must have certain
like sections, while others are unique
and thus require unique code.
NONPREEMPTIVE MULTITASKING
Windows uses a nonpreemptive sched¬
uler to manage multiple tasks. Because
such a scheduler is cooperative, each
application must “yield” to Windows in
order to allow other applications access
to the main processor. Windows
switches among applications when an
application asks for its messages. Once
an application has received a message it
can execute for as long as it wants; Win¬
dows does not issue interrupts to force
an application to yield. Windows appli¬
cations should check frequently for
messages in order to yield control and
allow other applications to run.
A preemptive multitasking system,
such as that found on an IBM main¬
frame, uses system interrupts to sus¬
pend the processing of an application
and to allow other operating system
functions or applications to be exe¬
cuted. Some preemptive multitaskers
use time slicing to allocate the main
processor to applications. Each applica¬
tion is given slices of time in which to
execute, depending on priorities estab¬
lished by the system operators. Each ap¬
plication continues to execute until it
needs the system to perform some ser¬
vice such as I/O (in some systems its
execution may be interrupted to allow
the execution of higher-priority tasks)
or until its time slice completes.
Windows does multitasking with
only those applications that are specifi-
72
PC TECH JOURNAL
cally written for it. While non-Windows
applications such as Lotus 1-2-3 or
MicroPro’s WordStar will run under
Windows, they will not do multitasking.
When a non-Windows application is
started, all currently active Windows ap¬
plications are suspended.
Windows multitasking is particu¬
larly useful for background tasks such
as communications and print spooling;
a user can execute Windows applica¬
tions at the same time that a file is be¬
ing transmitted or received across a
communications network or that a large
job is being printed.
MEMORY MANAGEMENT
Windows memory management pro¬
vides two significant features that are
not offered in current versions of DOS:
dynamic loading and discarding of code
and data segments, and insulation of
programs from hardware-specific mem¬
ory architectures.
Code segments within a Windows
application can be defined as fixed or
movable through the module definition
file (.DEF). The definition file for a sam¬
ple Windows application is shown in
listing 1 (THERME.DEF). All code seg¬
ments should be defined as movable so
that Windows has maximum flexibility
in organizing memory. Code segments
also may be loaded into memory dur¬
ing initial start-up of the application, or
they may be loaded dynamically by
Windows. When they are not currently
in use, code and data segments also
may be discarded dynamically by Win¬
dows if memory is scarce.
When an application attempts to al¬
locate more memory than is available,
Windows attempts to satisfy the request
by dynamically discarding memory until
a block of the requested size can be
made available. If sufficient memory
cannot be obtained, Windows returns
error code 0001 to the application.
Normally, Windows manages mem¬
ory in a way that is transparent to the
user. However, if a scarce memory situ¬
ation occurs and Windows is unable to
free enough memory, a degradation in
performance occurs. Thrashing takes
place if Windows begins discarding and
loading the same code segments repeat¬
edly. For example, if an application is
performing a repetitive operation (such
as drawing a series of rectangles) and
memory is scarce, Windows may per¬
form an operation, discard the code re¬
quired to perform that operation during
memory compaction, then reload the
code segment just discarded.
While performance degradation is
more desirable than an application fail¬
ure, it is of little consolation to a user
who must either accept inadequate per¬
formance or close down other applica¬
tions until enough memory is freed to
return performance to acceptable levels.
Windows memory management
further insulates application programs
from hardware-specific memory archi¬
tectures by using 16-bit “handles”
(address pointers) to reference all data
variables. Because Windows dynamically
allocates and frees memory, compacting
it as required, the physical address of a
data variable can be changed by Win¬
dows. As long as an application always
uses a handle to access data, it does not
matter where Windows locates that
physical data item in memory.
Windows provides two memory
pools for use during program execu¬
tion: the global heap and the local
heap. The former is all system memory
not allocated to Windows or applica¬
tions; the latter is free memory in the
application’s data segment. The maxi¬
mum size of any local heap is 64KB. Ap-
“Device independence, one
of the greatest benefits of
Windows, is achieved by ap¬
plications through the use of
a graphics device interface.
plications obtain memory by using the
GlobalAlloc command (for addresses
outside of the current 64KB memory
segment) and LocalAlloc (for addresses
within the current 64KB memory seg¬
ment). Windows gives the requesting
application a handle to the requested
memory. The GlobalLock and LocalLock
functions are used to lock global and
local handles, respectively, before as¬
signing values to the specified memory
locations. This prevents the memory ob¬
ject associated with the handles from
moving while in use.
Applications are responsible for
freeing allocated global memory before
they terminate. Windows automatically
frees any local memory that has been
allocated during execution.
GRAPHICS DEVICE INTERFACE
One of the greatest benefits that Win¬
dows provides to application develop¬
ers and users alike is device indepen¬
dence, which is achieved by Windows
applications through the use of a graph¬
ics device interface (GDI). Application
developers benefit from the GDI be¬
cause it defines a logical device to
which the application sends output. The
physical device used, whether display
screen, plotter, or matrix printer, is not
important to the application because all
application I/O is performed to and
from logical devices. The same I/O rou¬
tines are used by an application regard¬
less of the physical device being used;
thus, they must be written only once.
Translations between the logical device
used by Windows and physical devices
are performed by device drivers.
In order to maintain device inde¬
pendence, this interface draws images
in an internal, logical coordinate system
that is mapped to the actual physical
coordinate system of the display device.
The logical coordinate system has x and
y axes, an origin at the center, and
coordinate values that range from
-32,768 to 32,767.
To draw an image on a device, an
application uses a GDI output function
to draw in a rectangular area of the log¬
ical coordinate system called (in an un¬
fortunate choice of terms) a window.
GDI then maps the image to the desig¬
nated device view port, which is simply
the rectangular area on the display de¬
vice that contains the image mapped
from the logical coordinate system win¬
dow. The functions SetWindowOrg and
SetWindowExt define the origin and ex¬
tent (size) of the window in the logical
coordinate system. SetViewportOrg and
SetViewportExt perform the same func¬
tion for the device view port. The point
(0,0) in the physical device coordinate
system is always the upper left corner
of the view port.
Every device has a logical size in
which arbitrary width and height (in
inches) are assigned. Usually different
from the physical width and height, the
logical size is used by applications
when writing text or drawing graphics.
For example, the logical screen
size of the CGA (640 by 200 pixels) is
6.5 by 4 inches. The pixels per logical
inch in the x and y directions are 96
and 48, respectively. The logical screen
size of the EGA (640 by 350 pixels) is
6.5 by 5 inches. Its pixels per logical
inch are 96 and 72, respectively.
The location of points in an actual
image depends upon the transformation
equations used to map it from the logi¬
cal to the physical coordinate system.
An application can use SetMapMode to
select one of eight different mapping
modes that define the orientation of the
device’s x and y axes and specify scale
factors for transforming logical units
FEBRUARY 1987
73
You can eat 37% more carrots.
Or you can get our new
VEGA Deluxe™ EGA card. g
. Apr s P ite its
Hprovements
Mr # today’s
".mjr .■■f.-^0^^^mn-vsnety
jjjliP" | Enhanced Graphics
^ aH|P H ipoapter can still be a strain on
111 p I ^^^^H^eballs.
"^^ ^H » BH ^rMay we introduce you to a sight
^JHPR sore eyes: the new VEGA Deluxe
JBpp^ card. A short-card video adapter
goes beyond standard EGA to bring
^ jHPPu as much as 37% higher screen resolution.
/ impure pixels, that means 640 x 480. And 752 x 410.
f With as many as 16 on-screen colors from a palette of 64.
That, in turn, means sharper lines. More brilliant colors. And less strain on your
eyes. (Of course, you can’t see more than your monitor will display. So for more than
640 x 350, the VEGA Deluxe requires a Multisync® or equivalent.)
The VEGA Deluxe is compatible with every other video standard: EGA, CGA,
Hercules and MDA. And it automatically selects which standard
: j££E3Hl is right for your software’s needs when used with a compatible
Not only that, the VEGA Deluxe includes high-resolution
drivers for Microsoft Windows and Lotus 1-2-3 with 120
jSnHS^nTl columns and 43 lines. EASYCAD, EGA Paint, GEM, Dr. Halo,
In*A*Vision, Windows Draw Windows Graph, and many
more now support VEGA Deluxe high resolution.
Want more information? Just call 1-800-238-0101 for the name of the Video Seven
dealer nearest you. (In California, call 1-800-962-5700.)
And get ready for a real eye-opening experience. 4 If
Video Seven Inc.,47320 Mission x ▼▼ -p px rp y
Falls Court, Fremont, CA 94539. V1 DllU V JLN
High resolution modes requireTTL color monitors capable of 25 KHZ and 29.4 KHZ. Trademarks: VEGA Deluxe-Video Seven Inc.; Hercules—Hercules ComputerTechnology;MultiSync-NEC Information Systems, Inc.;
EASYCAD - Evolution Computing, EGA Paint—Rix SoftWoriss, Inc.; GEM - Digital Research Corp.; Dr. Halo - Media Cybernetics; In«A* Vision, Windows Draw, Windows Graph - Micrografxjnc. Registered trademarks:
IBM - International Business Machines Corporation; Video Seven—Video Seven, Inc.; Lotus 1-2-3—Lotus Development Corp.;Microsoft—Microsoft Corp. Video Seven reserves the right to change specifications without notice.
CIRCLE NO. 204 ON READER SERVICE CARD
WINDOWS
into device units. The mapping modes
are as follows: TEXT, LOMETRIC,
HIMETRIC, LOENGLISH, HIENGLISH,
TWIPS, ISOTROPIC, and ANISOTROPIC.
These modes fall into three classifi¬
cations: unconstrained, partially con¬
strained, and completely constrained.
The TEXT, LOMETRIC, HIMETRIC,
LOENGLISH, HIENGLISH, and TWIPS
modes are completely constrained. In
these mapping modes, calls to
SetWindowExt and SetViewportExt are
ignored. Constrained map modes pro¬
duce nondistorted images in fixed phys¬
ical units such as pixels, inches, or
points, and they provide a way to en¬
sure that a 1-by-l unit square in logical
coordinates is mapped to a 1-by-l unit
square in physical coordinates.
In ISOTROPIC (the partially con¬
strained) mode, window and view-port
extents determine scaling and orienta¬
tion; GDI assures that x and y units are
the same. Thus, squares in logical units
come out as squares on the device. In
the unconstrained (ANISOTROPIC)
mode, arbitrary units and scaling may
be achieved by setting window and
view-port extents to any desired values.
This mode does not change the extents,
rather it directs the GDI to set an inter¬
nal flag to indicate that the extents can
be arbitrarily changed by using
SetWindowExt and SetViewportExt.
A device context, or DC, describes
a graphics device and driver. A DC is a
data structure in an application’s mem¬
ory that contains all information neces¬
sary to create visual output in that appli¬
cations window. This information in¬
cludes background and text colors and
conventions for combining them, as
well as transformations used to map
images from the logical coordinate sys¬
tem to the physical device. The DC con¬
tains the data itself or handles that point
to the data. An application must request,
using the CreateDC routine, that Win¬
dows create a DC for its window.
The application can update the in¬
formation in the DC by selecting objects
into the DC, setting the mapping mode,
setting the clipping region, and so on.
Once the application has all of the nec¬
essary information contained in the DC,
it can perform graphics operations that
affect its own window.
The availability of Windows appli¬
cations and GDI enables equipment
manufacturers to make new hardware
compatible with an existing base of soft¬
ware simply by writing device drivers
for Windows. It is also easier to up¬
grade hardware (and the Windows de¬
vice driver) to support new features,
higher resolution, and faster modes.
The time that an application devel¬
oper saves by not developing unique
device support can be significant. Cer¬
tain applications, especially those that
make extensive use of graphics, benefit
the most. The 40 to 50 percent of pro¬
gramming time spent developing device
support in a device-independent envi¬
ronment could instead be directed to
improving the application or develop¬
ing new applications altogether.
Device independence is also im¬
portant to end users because it protects
their investment in software. Users can
be confident that drivers will be avail¬
able for popular devices, and because
Windows applications are device inde¬
pendent, upgrades from the software
manufacturer to support a new device
are not necessary.
Communications between
a realtime server and a
client Windows application
is accomplished through the
Dynamic Data Exchange.
Several examples of Windows and
Windows-compatible devices are al¬
ready in use. Video 7’s new VEGA De¬
luxe EGA-compatible graphics adapter
supports all the old CGA and EGA stan¬
dards and offers two new resolution
modes—752 by 410 pixels and 640 by
480 pixels—with 16 colors. Few compa¬
nies offer such features. The VEGA De¬
luxe comes with a Windows driver that
gives Windows applications instant com¬
patibility with these modes.
Quadram’s as yet unnamed high-
resolution graphics board uses an Intel
82786 graphics coprocessor to achieve a
resolution of 640 by 480 pixels with 256
simultaneous colors (from a palette of
1.6 million). This board should be avail¬
able (with a Windows driver) in the
first quarter 1987. The 82786 enables
this board to achieve a tenfold increase
in graphics performance.
NEC’s new color version of the P5
printer is capable of 360-dpi (dots per
inch) resolution with unlimited colors.
It also should be available (with a Win¬
dows driver) in first quarter 1987.
DYNAMIC DATA EXCHANGE
Windows allows intertask communica¬
tion and the efficient sharing of data
among applications. The Windows Dy¬
namic Data Exchange (DDE) protocol is
a set of guidelines that allows applica¬
tions to share data freely using either
one-time data transfers or establishing
on-going communications in which ap¬
plications send updates to one another
as new data become available.
Intertask communications, the
means by which Windows applications
receive all input, occur in Windows
through messages. Applications may de¬
fine private messages with unique
meanings. The DDE protocol defines
some new messages for communica¬
tions among the applications that use it.
Windows also provides for the sharing
of data among applications. The DDE
protocol uses shared memory as the
means for transferring data between ap¬
plications. The DDE defines some struc¬
tures to be used in order to pass data.
In any interaction between DDE
applications, the application generating
the shared data is called the server and
the application accepting the shared
data is the client. A DDE link between
applications is called a hot link.
Communications between an on¬
line, realtime server and a client Win¬
dows application is possible with the
DDE. Microsoft has demonstrated an ex¬
ample of this with Lotus Signal and a
sample Windows application specifically
developed to demonstrate the DDE. Lo¬
tus Signal uses an FM sideband receiver
to obtain financial data from the New
York Stock Exchange. A server was de¬
veloped to transfer data from Signal
into a shared memory area within Win¬
dows. As data come over the FM chan¬
nel, the shared memory area is updated
automatically. The client application was
coded to detect when the data in this
shared memory area changed and to
update a spreadsheet and redraw a
graph to reflect the new data.
The clipboard is another data ex¬
change feature of Windows. It is a pool
of handles, accessible to any Windows
application, through which applications
can exchange formatted data.
Windows applications that follow
Microsoft’s Style Guide all provide the
standard clipboard operations of Cut,
Copy, and Paste. Cut deletes selected
data from an application and places it in
the clipboard; Copy makes a copy of
the selected data without deleting it and
then places the copy in the clipboard;
Paste is used by the receiving applica¬
tion to transfer data from the clipboard
into an application.
From a user’s point of view, the
clipboard holds only one piece of data
at a time. Previous data are cleared out
every time a new Cut or Copy opera-
FEBRUARY1987
75
WINDOWS
tion is performed. Internally, the clip¬
board holds any number of different
data formats and corresponding data
handles, all representing the same data
but in as many different formats as the
application is willing to supply.
For example, if a Windows Draw
user selects a portion of a drawing
(perhaps a piece of clip art) and copies
it to the clipboard, Windows Draw ren¬
ders three different formats to the clip¬
board. These formats are bit map, meta¬
file, and Micrografx picture.
[Editors note: The author is presi¬
dent of Micrografx, developers of the
picture format referred to here. A Mi¬
crografx picture is decomposable and
can record view-port transformations.
Specifications for the format are avail¬
able free from Micrografx; also, they
can be obtained from General Electric’s
GENIE Information Service .—WFJ
An application receiving the data
from the clipboard could choose what¬
ever format that it supported. For exam¬
ple, Windows Paint can transfer only in
bit maps while Windows Write can in¬
put a metafile or a bit map. Windows
Draw can (currently) input only a
Micrografx picture.
Bit maps are simply pixel blocks
well suited to pixel editors or paint
programs such as Windows Paint. How¬
ever, some limitations are imposed. Bit
maps are not easily scaled and lose res¬
olution when they are scaled; in addi¬
tion, bit maps in Windows are done
only in black and white, so any color
information is lost during the transfer.
Finally, Windows limits the size of bit
maps to 64KB maximum.
Metafiles provide a more orderly
mechanism for passing pictures among
applications. Unlike bit maps, they can
pass color information and metafiles
can be scaled without loss of resolution.
However, metafiles carry their own lim¬
itations: they cannot be decomposed, so
a receiving application cannot break a
metafile picture down into its compo¬
nent symbols (lines, curves, fill pat¬
terns). Neither can Metafiles record
view-port transformations, which some
applications use for scaling pictures.
THE DEVELOPMENT KIT
The Microsoft Windows Development
Kit (version 1.03) is required for devel¬
oping Windows-compatible applications.
The kit is a collection of the utilities,
debugging aids, and sample source pro¬
grams necessary to this operation; table
1 lists its contents.
Installing the kit is fairly straight¬
forward once the proper documenta¬
tion for version 1.03 is located in the
TABLE 1: Windows Software Development Kit Contents
WINDOWS DEVELOPMENT UTILITIES
EXEHDR.EXE
Displays Windows application file header
IMPLIB.EXE
Creates linkable library files for user-defined, dynamic
Windows libraries
LIB.EXE
Creates and maintains library (.LIB) files
LINK4.EXE
Creates executable Windows applications
MAKE.EXE
Performs automatic file maintenance
MAPSYM.EXE
Creates symbol files for symbolic debugging
RC.EXE
Compiles and adds resources to an application
RCCP.EXE
Preprocesses resource script files
SYMDEB.EXE
Symbolic debugger for Windows applications
WINSTUB.EXE
Program to display a message indicating that an application
must be run using Windows
WINDOWS DEVELOPMENT APPLICATIONS
ATRM1111.FNT
Sample font file
DIALOG.EXE
Dialog box editor
FILELIST.TXT
Listing of files in Development Kit
FONTEDIT.EXE
Font editor
HEAPWALK. EXE
Displays lists of owners and sizes of allocated memory blocks
in global heap
ICONEDIT.EXE
Creates and edits icons, cursors, and bitmaps
INSTALL.BAT
Batch file used to install Development Kit
MKDEBUG.BAT
Batch hie used to create a debugging version of Windows
README.DOC
Installation instructions for Development Kit
SHAKER. EXE
Randomly allocates memory in the global heap
LIBRARIES AND INCLUDE FILES (C language)
STYLE.H
Windows style definitions for edit control, dialog and list
boxes, scroll bars
WINDOWS.H
Windows include hie for C applications
LIBW.LIB*
Standard Windows library
WINLIBC.LIB*
Start-up library for Windows libraries
LIBRARIES AND INCLUDE FILES (Pascal)
103PATCH.BAT
Patches debugging version Windows KERNEL.EXE to allow
support of Pascal applications
CMACROS.INC
Include hie for macro assembler macros
PASCAL.LIB
Pascal library for Windows applications
PASLIBW.LIB
Windows library for applications in the Pascal language
WINDOWS.INC
Windows include hie for Pascal applications
a These file names are prefixed with a C, L, M or 5 , according to the memory model size: compact,
large, medium, or small, respectively.
README file on the second of two utili¬
ties disks. (This file is not mentioned in
the printed documentation or the more
than 30 pages of updates to it. The doc¬
umentation updates are not replace¬
ment pages, rather they are more than
100 separate items grouped together
with section and page-number refer¬
ences.) The README file describes the
use of the batch file that will install all
of the toolkit except the sample applica¬
tion source files. The printed documen¬
tation provides recommended directory
names and locations for storing these
source files, but the user must consult a
file on the second utilities disk to locate
particular source files on the toolkit
diskettes. To set up the operating envi¬
ronment, the AUTOEXEC.BAT file must
be modified using the DOS SET com¬
mand to assign values to several envi¬
ronment variables. The variables and
their meanings are as follows:
LIB Location of library files used
by the development linker
(called Link4)
INCLUDE Location of include files used
by compiler
TMP Location of compiler tempo¬
rary file directory
TEMP Location of Windows tempo¬
rary file directory
PATH Used by DOS to locate exec¬
utable files
It may be necessary to expand the envi¬
ronment to accommodate these vari¬
ables. (See “Environment Expansion,”
Jim Vallino, November 1986, p. 49.)
Because some of the development
utilities are Windows applications, Win-
76
PC TECH JOURNAL
SYMBOL AND DEBUG FILES
Debugging executable file for GDI library
Symbolic debugging file for GDI functions
Debugging executable file for kernel library
Symbolic debugging file for kernel functions
Debugging executable file for user library
Symbolic debugging file for user functions
GDI.EXE
GDI.SYM
KERNEL.EXE
KERNEL SYM
USER. EXE
USER. SYM
SAMPLE APPLICATIONS SOURCE FILES
CARDFILE Application similar to the Windows card file
CLOCK Uses bitmaps and compatible device contexts
FONTTEST Font and dialog box creation and use
HELLO General form of a Windows application
MAPMODES Use of various mapping modes
MOTION Creation and use of dynamic-link libraries
MUZZLE General form of a Windows application (Pascal)
SAMPLE Similar to TEMPLATE but also uses standard file and edit
menus and dialog boxes
SHAPES Shows how to use menus and draw shapes
TEMPLATE Skeleton application
TRACK Use of mouse input and visual feedback
TYPE Keyboard input processing
WINDOWS DEVELOPMENT KIT MANUALS
Update to Programmer's Reference and Programming Guide
Describes new features of Windows version 1.03; contains updates and
corrections to Windows Programmer's Reference and Windows
Programming Guide
Microsoft Windows Programmer's Utility Guide
Describes purpose and use of Development Kit Utilities
The Microsoft Windows Quick Reference
Provides a quick reference to Windows functions and messages
The Microsoft Windows Programming Guide
Guide to creating Windows applications
The Microsoft Windows Application Style Guide
Design guidelines for applications’ user interface
The Microsoft Windows Programmer's Reference
Describes functions, data types and structures, files, and assembly language
macros used by Windows applications
The Windows Software Development Kit is a collection of utilities, debugging aids,
and sample source programs required to develop Windows applications.
dows must be installed on the comput¬
er being used for developing applica¬
tions, and it is also needed to debug
Windows applications.
An executable version of Windows
is created using the Microsoft Windows
Setup program. Setup uses files from
the Windows disks to make a version of
Windows that is tailored to the specific
hardware being used.
Instructions for installing a debug¬
ging version of Windows are provided
in the README file. The process de¬
scribed includes using the MKDEBUG
batch file to copy debugging versions of
KERNEL.EXE, USER.EXE, and GDI.EXE
(all supplied with the toolkit) to copies
of the Windows Setup and Build
diskettes. These diskettes are then used
to install a debugging version of Win¬
dows, which is needed for development
purposes. When used with the symbolic
debugger in the development toolkit,
the debugging version provides com¬
prehensive application debugging sup¬
port using an external display. A stan¬
dard version is required only for use of
Windows without debugging support.
APPLICATION RESOURCES
A Windows program is made up of
source code and resources. Applications
can be written in Microsoft C or Pascal,
or assembly language. Resources such
as icons, cursors, menus, and dialog
box templates are created using the
Icon and Dialog editors.
The sample application THERME il¬
lustrates the Windows application devel¬
opment process. THERME uses an icon,
pull-down menus, and a dialog box to
create a drawing of a thermometer and
output it to the screen or printer. The
user can select Fahrenheit and Celsius/
Centigrade readings by selecting a “ra¬
dio” button and can specify the temper¬
ature using a scrollable list. Photo 1
shows the THERME display with the
print option selected.
To create new Windows programs,
these steps must be taken:
• Create cursors, icons, or brushes us¬
ing IconEdit, the icon editor.
• Create a resource script file contain¬
ing descriptions of menus or dialog
boxes to be used by the application
using a text editor and Dialog, the
dialog editor.
• Use the Windows resource compiler
(RC) to compile application resources
and then to copy those resources to
the executable file.
• Use a text editor to generate the ap¬
plication’s C, Pascal, or assembly lan¬
guage source files.
• Use the appropriate Microsoft com¬
piler to compile the application’s
source files.
• Use a text editor to create a module
definition file.
• Use the linker (Link4) to link the
compiled application source files with
the Windows libraries and the module
definition file.
Windows applications typically use
a number of resources, such as icons,
cursors, fonts, menus, and dialog box
templates. These resources must be
created, then defined in a resource
script file. The resource script file con¬
sists of one or more resource state¬
ments that identify the resource name
and type. The resource script file used
by the THERME sample application is
shown in listing 2 (THERME.RC).
The ICON key word is followed by
the name of the file that contains the
icon. The file THERME.ICO was gener¬
ated using the Icon Editor program
(IconEdit), a Windows application used
to create customized icons, cursors, and
bit maps for the applications. IconEdit
lets the user create and edit a large-
scale image of an icon, cursor, or bit
map while simultaneously viewing it at
normal size. A mouse or similar point¬
ing device is required for use with
IconEdit. The IconEdit display of the
THERME.ICO icon shown in photo 2.
The DIALOG statements and their
associated CONTROL statements define
the dialog boxes used in THERME. Dia¬
log boxes can be designed in the dis¬
play screen using the dialog editor.
Because Dialog does not create the
other components of a resource file, a
FEBRUARY 1987
77
TM
Any Time.
Any Software.
EGA Monitor
TTL Monochrome Monitor RGB, Composite Monitors,
and Compaq PC Portable 2 and the IBM Portable PC
CGA Software
• It also runs 132 coiusms 5
**i*l*s 8 •liter's display wlily. ttwn twin® CCP softww or a
SfWcs are duA le seamed for a biph «ualtt* lease Vten nrrinj &A
« B44 tett is displ vd. colon are ctewertei into state. gr&hi?
nmrg KA software or an KS writer, a of 64 co! '
v* It* resolution parties *5?lay of an KA wutor
132 Column Software
EGA Software Hercules Software
EGA Software Hercules Software
CGA Software 132 Column Software
EGA Software Hercules Software
CGA Software 132 Column Software
EGA Wonder runs EGA, CGA, MDA, Hercules and
132 Columns on an Enhanced Graphics Display.
CGA text is improved to 8 x 14 and graphics are
double scanned for a high quality display.
Features
ATI
EGA
Wonder
Paradise
Auto
Switch
Quadram
and
Video 7
Compatible to EGA, CGA, MDA, Hercules
IX
IS
IS
256K Video Memory
lS
IS
IS
Automatic Switching Between EGA and
CGA Color Modes and Among EGA,
MDA, and Hercules Modes
tS
IS
Runs EGA, CGA, MDA, Hercules and 132
Columns on an EGA Monitor
IS
Runs EGA, CGA, MDA, Hercules and 132
Columns on an RGB Color Monitor
IS
Runs EGA, CGA, MDA, Hercules and 132
Columns on a TTL Monochrome Monitor
IS
Runs EGA, CGA, MDA, Hercules and 132
Columns on a Composite Monitor
IS
Runs EGA, CGA, MO A, Hercules and 132
Columns on an IBM Portable P.C.
✓
Warranty
2 Yrs
1 Yr
1 Yr
Suggested List Price
$399
$595
$599
EGA Wonder runs EGA, CGA, MDA, Hercules and
132 Columns on a TTL Monochrome Monitor and
Compaq PC Portable 2 . Colors of EGA and CGA
are converted into shades, graphics are full
screen and no pre-boot drivers are
required.
'Trademarks: Paradise Auto Switch-Paradise Systems Inc; Quad EGA+ is a trade¬
mark of Quadram Corp.; Video-7 - Video-7, Incorporated; IBM PC Portable - IBM -
International Business Machines. Compaq — Compaq. Inc
1. "Any Software, Any Monitor, Any Time" applies to IBM graphics, standards,
monitors, software.
2. Optional Compaq Expansion Module (no 132 Columns) suggested list price $99.
3. Flickering effect of interlacing reduced with purchase of anti glare screen filter.
EGA Wonder also runs EGA, CGA, MDA, Hercules
and 132 Columns on an RGB Monitor, Composite
Monitor, and the IBM Portable PC in 64 colors
(shades). EGA and Hercules software are inter¬
laced for high resolution text and graphics . 3
Composite monitor and PC Portable display not shown.
Upgrade to EGA Without An EGA Monitor
The ATI EGA Wonder goes far beyond software compatibility. It is the result of
intensive development by one of the most revolutionary technology companies today — ATI
Technologies Inc.
The ATI EGA Wonder is not just better technology. It is the solution for upgrading to
EGA without an EGA monitor.
Only the ATI EGA Wonder displays EGA, CGA, MDA, Hercules and 132 column
software on an Enhanced Graphics Monitor, an RGB Color/Graphics Monitor, a TTL
Monochrome Monitor, a Composite Monitor, or the internal monitor of the PC Portable.
Only the ATI EGA Wonder provides upward compatibility to EGA and downward
compatibility to CGA, MDA, and Hercules on your present monitor — EGA, RGB, TTL,
Composite or PC Portable.
At ATI we have developed a better graphics card for you.
Call us today at ( 416 ) 477-8804 for more information.
450 Esna Park Dr. Markham, Ontario
Canada L3R 1H5 TLX. 06-966640
CIRCLE NO. 206 ON READER SERVICE CARD
/n
CESMsHMUB
Technology you can Trust
WINDOWS
Therme is a C application that accepts keyboard input using
a dialog box, then displays and prints a thermometer.
The Dialog Editor allows dialog boxes to be designed on the
display screen and saved in a resource script file.
The Icon Editor is used to create customized icons, cursors,
and bit maps. A mouse or similar device is required.
The Font Editor permits the creation of font files for use
with applications. A mouse or similar device is required.
.RC (resource script) file defining the
other components (icons, menus, bit
maps) must be created and complied
using RC before Dialog is used).
Dialog is then used to add dialog
boxes to the compiled resource (.RES)
file. The dialog box that is used in the
example resource script file (shown in
listing 2) was coded by hand; however,
it can be examined and modified using
Dialog (see photo 3).
The development kit includes the
Font Editor, and although it is not used
in the THERME sample application, it is
a useful tool that allows the creation of
custom font files for use with Windows
applications. A font file consists of bit
maps of characters used for text display.
Font files must be added to a font re¬
source file for them to be used with ap¬
plications. A mouse or similar device is
required to use this editor. Photo 4
shows a sample Font Editor display.
RC also is used to copy the com¬
piled resources to the applications ex¬
ecutable file created by linking the ap¬
plication’s object modules together with
the appropriate Windows libraries. The
copy step may be performed at the
same time as resource compilation (if
the executable file is available), or it
may be performed as a separate step.
Shaker and Heapwalker are two
utilities provided with the toolkit to aid
in application testing. Shaker randomly
allocates and frees blocks of global
memory to force Windows to move the
data and code segments of sample ap¬
plications. Heapwalker displays informa¬
tion about the size and location of ob¬
jects in system memory, thus permitting
the global heap to be examined.
The Icon Editor, Font Editor, Dia¬
log Editor, Shaker and Heapwalker are
all Windows applications, and are
started, used, and closed as such.
Each of the three languages in
which applications can be developed
using Windows has its own require¬
ments. Windows C applications are C
programs that use Windows functions,
data types, and programming conven¬
tions. Listing 3 (THERME.C) is the
source code for the sample C applica¬
tion. Programs are compiled using the
Microsoft C 4.0 Cl command. Recom¬
mended options to use when compiling
a Windows program are listed in table
2. The WINDOWS.H file must be in¬
cluded in all C programs. Definitions
for all Windows functions, data types,
and constants are in WINDOWS.H. The
include file, THERME.H (listing 4), de¬
clares various data and routines that are
used by the main unit.
The starting point for a program is
the WinMain function, which handles
the creation of windows and reads and
dispatches input for the program.
FEBRUARY 1987
79
WINDOWS
As with C, Pascal Windows applica¬
tions are Pascal programs that use Win¬
dows functions, data types, and pro¬
gramming conventions. Version 33 or
later of the Microsoft Pascal compiler
must be used to compile applications
written in this language. In addition, all
Pascal Windows applications must in¬
clude the Windows interface in their
source files; this interface contains the
definitions for the Window's functions,
data types, and constants. It is included
by using the statement, INTERFACE, and
the file, WINDOWS.INC.
(Each application should have its
own .INC file that lists the specific Win¬
dows functions, data types, and con¬
stants it uses. In addition, each Pascal
application must be compiled with the
{WINDOWS metacommand.)
Pascal programs must be Refined
as Pascal modules, not programs. A pro¬
gram module can contain any ^number
of Pascal procedures or function defini¬
tions, but at least one, the WinMain
function, is required for all Pascal appli¬
cations. As in C programs, WinMain is
the starting point of the application. It
must be declared along with the
PUBLIC and WINDOWS attributes.
MUZZLE, a sample application written
in Pascal, is provided with the Windows’
development kit. A patch provided with
the toolkit must be applied to the de¬
bugging version of KERNEL.EXE (also
provided with the kit) to allow the sup¬
port of Pascal applications.
Windows applications in assembly
language use high-level language calling
conventions, Windows functions, data
types, and programming conventions.
Microsoft MASM 4.0 must be used to
assemble these Windows programs.
Assembly language applications
must provide functions that use the
same calling and segment conventions
as C or Pascal applications. The file
CMACROS.INC, included with the devel¬
opment kit, ensures use of these con¬
ventions. It defines a set of high-level
language macros that can be used in an
assembly language source file.
Executable Windows programs are
created by linking compiled source files
using the Link4 program supplied with
the kit. Link4 uses the object modules, a
list of Windows and other libraries, and
a .DEF file to create an executable file
that can load and run under Windows.
This .DEF file is a text file containing in¬
formation about a Windows application:
the name, size, format, functions, and
segments. Every application must have a
.DEF file created before linking.
The .DEF file for an application
must contain a NAME statement de-
OPTION
EXPLANATION
-c
Directs Cl command to create object.file only. Without this option, Cl
attempts to create a non-Windows executable file.
-AM
Directs compiler to create far code pointers, near data pointers, and
separate data and stack segments.
-Gsw
Directs compiler to remove stack probes from compiled code, and
add Windows prolog and epilog code to all functions in source file.
-Oas
Directs compiler to relax alias checking and optimize the compiled
code for code size.
-Zpe
Directs compiler to pack bytes in structures. All structures in windows
are packed, so this option must always be used to ensure compatibility
with Windows. Enables special keywords, such as pascal, far, and near.
Windows application source files are compiled using the Cl command. Line num¬
ber information may be included in the object file by adding the -Zd option.
fining the application’s module name.
Windows uses this name to identify the
application. Most .DEF files also contain
DATA and CODE statements that further
define aspects of the application. (The
THERMR.DEF file is shown in listing 1.).
The compiled object modules can
be linked with the Windows library and
the .DEF file with Link4. The Link4 com¬
mand has the form
Link4[ options]
object-files,[ exe-file ],[ map-file ],
[lib-files],def-file
where options is one or more key
words that direct Link4 to carry out spe¬
cial operations, object-files are the file
names of compiled application source
files, exe-file is the name given the ex¬
ecutable file, map-file is the name of
the map file, lib-files are the names of
Windows or standard language libraries,
and def-file is the file name of the .DEF
file. The commas shown in this com¬
mand are required to be there.
If an application has more than
one object module, all must be named
in order to link. This means that more
than one object-file can be specified if
necessary. Multiple file names must be
separated by spaces or the plus sign
(+). Only one .DEF file is allowed.
To link the application object file
THERME.OBJ to the module definition
file THERME.DEF and the standard Win¬
dows library MLIBW.LIB, the following
should be used:
link4 therme,therme.exe,therme/map,
mlibw,therme.def
This statement creates the execution file
THERME.EXE, which is ready to have
resources copied to it using the re¬
source compiler. It also creates the
mapping file THERME.MAP, which is
used for symbolic debugging.
PROGRAM MAINTENANCE
The Windows Software Development kit
contains Make, a program maintenance
utility. This utility is also included with
Microsoft C 4.0. Make automates the
process of maintaining assembly and
high-level language programs. It auto¬
matically carries out all tasks needed to
update a program after one or more of
its source files has changed. Make com¬
pares the last modification date of a file
or files that may need updating with the
modification date of files on which
these target files depend, and then car¬
ries out a given task only if a target file
is out of date. In order to use Make, a
text editor first creates a description file
that lists the steps to be performed and
specifies the files upon which these
steps will depend. Make then reads the
description file and performs the
requested steps.
A Make description file consists of
one or more target-dependent descrip¬
tions. Each description is expressed in
the following form:
targetfile : dependentfiles
command 1
[command2]
In this statement, targetfile is the name
of any file that may need updating,
dependentfile is the name of the file on
which the target file depends, and the
commands are the names of executable
files or DOS internal commands. Listing
3 shows the Make file used to compile
and link THERME.
This example defines the steps for
creating three target files, each of which
has at least one dependent file and one
command. The target descriptions are
given in the order in which the target
files will be created. Thus, the files
THERME.OBJ and THERME.RES are ex¬
amined and created, if necessary, before
80
PC TECH JOURNAL
THERME.EXE. The window created
when THERME.EXE is executed using
Windows is shown in photo 1.
WINDOWS DEBUGGING
Microsoft includes a symbolic debugger
(SYMDEB) with the Windows Software
Development Kit; it is currently the only
debugger available for Windows. The
CodeView debugger included with
Microsoft C version 4.0 does not sup¬
port Windows software development.
Because Windows takes complete
control of the system console, SYMDEB
I/O takes place on a separate debugging
terminal. The debugging terminal can
be an additional monochrome monitor
or any ASCII-compatible remote termi¬
nal that can be connected to the serial
port. When using an additional mono¬
chrome monitor, SYMDEB can receive
keyboard input before and after the ap¬
plication runs or when it encounters a
breakpoint. Using SYMDEB to debug an
application involves the following:
• Prepare the symbol files for an
application.
• Set up the debugging terminal.
• Start SYMDEB and load Windows
along with the symbol files for the
application, the Windows USER and
GDI libraries, and any other Windows
libraries used by the application.
• Interpret SYMDEB allocation
messages.
• Display the application’s machine and
source code.
• Set breakpoints and interpret
backtraces.
• Terminate the application and
quit SYMDEB.
Symbol files for symbolic debug¬
ging are created using mapsym, which
converts .MAP files into .SYM files that
can be used by SYMDEB. The /map op¬
tion is used when linking to create a
.MAP file for input to mapsym. Line
number information can be added to
.MAP by adding the /linenumbers op¬
tion when linking, along with the ap¬
propriate compiler option to add line
numbers to the object file (-Zd for C
and /I for Pascal). The Windows USER
and GDI symbol files, USER.SYM and
GDI.SYM, are part of the Kit.
The same methods used to create
application symbol files can be used to
create symbol files for other Windows
libraries. A symbol file for the applica¬
tion is required while symbol files for
other Windows libraries are optional
but recommended to help trace calls
made to routines not in the application
or to trace window messages.
SYMDEB options include direction
of debugging output to a secondary
monochrome monitor, control of the
reporting level of memory-allocation
messages, loading of SYMDEB macro
definitions from a file, and the auto¬
matic execution of commands on start¬
up. SYMDEB provides more than 50 de¬
bugging commands to allow the user to
enable and disable breakpoints, trace
and examine object and source code,
assemble and disassemble instructions,
and examine and change data. SYMDEB
I/O can be redirected and commands
can be passed to COMMAND.COM.
A BRIDGE TO THE FUTURE
Microsoft was thinking of the future
when it developed Windows. It is writ¬
ten in C to make it easily adaptable to
various environments. The list of origi¬
nal equipment manufacturers (OEMs)
that already have adapted Windows to
non-IBM compatible environments in¬
cludes AT&T, Hewlett-Packard, Digital
Equipment Corporation, and Apricot.
Considering that a large portion of
Microsoft revenue comes from the sale
of systems software to OEMs, compati¬
bility with new hardware from OEMs is
a rather important issue.
Many of Microsoft’s objectives are
universal. All software vendors design
products to be compatible with as wide
WLicrosoft is in a position
to address the problems of
both software and hardware
compatibility, and Windows
is its dynamic response.
a range of hardware as possible. Ven¬
dors want to avoid major rewrites of
applications whenever changes to the
hardware base occur. Only a few soft¬
ware vendors develop device drivers
for a profit; most would prefer never
to write another.
Microsoft is in a position to ad¬
dress the problems of software and
hardware compatibility, and Windows is
its dynamic response. Not static, Win¬
dows has been updated twice since its
release, and rumors concerning new
versions of Windows are rife in the in¬
dustry. Although Windows has some
problems, it has many strong points. It
provides a standard graphic user inter¬
face, memory management, device inde¬
pendence, a well-defined interface for
communications between applications,
and the promise of compatibility with
future hardware and software.
Windows is an adjunct to DOS that
provides many useful services that DOS
does not. Not surprisingly, the cost for
these services is performance. Because
of the huge overhead that Windows im¬
poses, an 80286-based microcomputer
is required for applications to perform
with acceptable response times. In addi¬
tion, applications cannot effectively
share the screen and processor unless
they are developed specifically to run
with Windows. Developing applications
to Windows specifications (as opposed
to normal DOS specifications) is more
time consuming, the development pro¬
cess itself is much more complex, and
the program takes considerable time to
learn (as explained in this month’s Di¬
rections column, “Far Afield with Win¬
dows,’’ Will Fastie, p. 9).
The up side of all of this is that
Windows acts as an insulating layer be¬
tween applications and DOS. Therefore,
as new versions of DOS are released,
Windows applications should be able to
run without change. When a version of
Windows becomes available to exploit
the capabilities of 80386 machines,
users of Windows and Windows applica¬
tions should benefit immediately. Appli¬
cations and Windows will run faster be¬
cause the 80386 is faster. More to the
point, Windows will run at speeds that
PC users demand, and the improved
architectural features offered by the
80386 machines will allow applications
(both Windows-specific and not) to exe¬
cute in harmony with (and protected
from) each other.
Windows provides a usable, flex¬
ible environment for application devel¬
opment. It provides workable multitask¬
ing and memory management features
now, and the promise of future en¬
hanced versions that will continue to
support current Windows applications.
Windows represents a real opportunity
for software developers. 1 —11 m
Windows: $99
Application Development Kit: $500
Microsoft C Compiler: $450
Microsoft Pascal Compiler: $300
Microsoft MASM: $150
Microsoft Corporation
16011 Northeast 36th Way
P.O. Box 97017
Redmond, WA 98073-9717
800/426-9400; 206/882-8080
CIRCLE 357 ON READER SERVICE CARD
Paul Grayson is president of Micrografx,
Inc., developers of the drawing programs
In*A*Vision and Windows Draw.
FEBRUARY 1987
81
WE JUST GOT
MORE SOPMSTKATED
SOWUCANGET
MORE BASIC.
W e invented BASIC over
20 years ago.
Later, we re-invented it for
micros as the True BASIC™
structured-programming language.
And the idea was: To make program¬
ming as easy and natural as possible.
So you could concentrate on what to
program. Not how.
Now there's True BASIC Version 2.0 for
the IBM® PC and compatibles. Faster,
more powerful and sophisticated than
the original.
MORE GRAPHICS.
Right from the start, True Basic gave you
terrific device-independent graphics.
Built-in 2-D transforms. And support for
multiple windows.
Now we've added more graphics and
full mouse support.
So for the first time, you can create one
program that will do superb graphics on
CGA, EGA or Hercules displays. With¬
out worrying about additional drivers or
overlays. And on the EGA, you can SET
COLOR MIX to define your own colors.
Use four shades of blue if you want (and
make our competitors green with envy).
MORE CONTROL
We always supported you with recursion,
local and global variables and separately
compiled libraries.
Now you can have modules, too, the
industrial-strength tool for building large
applications.
Using modules makes it easier for you
to share data between routines. Build
data structures. Then, if you want, hide
them from other parts of the program.
So you can always be free to focus on
the task at-hand.
Modules have their own initialization
sections, so you can set up global vari¬
ables or turn on instrumentation.
And, like other procedures in True
BASIC, modules can be compiled sepa¬
rately and stored in a library where they
can be shared by several applications.
Or they can be loaded directly into the
True BASIC environment as part of your
customized workspace. So when you
use True BASIC interactively, the mod¬
ules look like built-in functions.
Modules made Modula-2 the successor
to Pascal. Now they've put True BASIC
one-up on all other BASICs.
MORE SPEED.
2.0 is 20 to 200 percent faster than True
BASIC Version 1.0. Both compile times
and execution speeds. And on some
real-world benchmarks, we're faster
than many native-code compilers.
MORE POWER.
Start with a complete matrix algebra
package.
Then, since we support the use of 640K
for both code and data, add arrays as
large as you want.
Our compiled code is more compact than
what other compilers generate, so there's
more memory left for your application.
We've enhanced our dynamic array
redimensioning and improved our built-
in 8087/80287 support, making True
BASIC the most powerful number¬
crunching BASIC around.
And if it's strings you crunch, we've
added new string functions and raised
the limit. So strings can be up to 64K
characters long.
MORE DEBUGGING.
We pioneered breakpoints and immedi¬
ate-mode capability in a compiled
BASIC environment.
Now we've added utilities that allow
you to visually TRACE through your
program, and check the values of
selected variables. Or print a cross-
referenced listing.
And new compiler options like NO LET
and NO TYPO let you decide how
strictly you want your variable names
checked.
MORE INNOVATION.
True BASIC has always had features
like full-screen, scrollable editing.
Block copy and block moves. And
global search and replace.
Now, 2.0 keeps you on the leading edge
of editing and hie-management technol¬
ogy. With SCRIPT, to write the True
BASIC equivalent of a DOS batch hie.
ECHO, to transfer your output to disk or
printer. And ALIAS, to give you and
your programs a better roadmap to your
subdirectories.
?here's also Version 2.0 of the Devel-
>per's Toolkit. With support for DOS
nterrupts. Pop-up menus. Even
lesigner fonts.
ind remember: your programs are por-
able to the other machines we support:
I A 1 n jr • i 1 TM I 1
Apple Macintosh™ and Commodore
the
Arnica
MORE SUPPORT.
Call your local dealer. Call us TOLL-
FREE at 1-800-TR-BASIC. Or write to:
True BASIC, Inc., 39 South Main Street,
Hanover, NH 03755. We'll send you
more information. Including a free
demo disk.
See for yourself. That we're still true to
our basic idea.
True BASIC Language System is a trademark of True
Basic, Inc. Macintosh is a trademark licensed to Apple
Computer Inc. Amiga is a registered trademark of
Commodore-Amiga, Inc. IBM is a registered trademark
of International Business Machines.
CIRCLE NO. 198 ON READER SERVICE CARD
WINDOWS
LISTING 1: THERME.DEF
NAME Therme
LISTING 3: THERME.C
• >
/* (c) Copyright 1986 MICROGRAFX, Inc.,
DESCRIPTION 'Simple Microsoft Windows Application'
1820 N. Greenville Ave., Richardson, Tx. 75081.
THERME.C
STUB 'WINSTUB.EXE 1
CODE MOVEABLE
This Module defines the all routines that control the application.
Wien the application is loaded, Windows calls the WinMain procedure.
DATA MOVEABLE MULTIPLE
HEAPS IZE 4096
WinMain initializes key variables used by the various functions in the
application and creates a window for it via the initialization
function. It then waits for input values, passing them to the window
STACKS IZE 4096
SEGMENTS
procedure each time an event occurs. */
#include <windows.h>
_TEXT PRELOAD MOVEABLE DISCARDABLE
EXPORTS
#include "therme.h"
#include "stdlib.h"
#include "string.h"
AppWndProc 31
about_dialog 32
print_dialog 33
Jk kkkkkkkkkkkkkkkkkkkkkkkkkkk HlStOPy ****************** ★★★★*★*** k kf
/* 11/24/86 (PML) • signoff */
set_temp_dialog 34
jk kkkkkkkkkkkkkkkkkkkkkkkkkk COHStQntS *************************** */
#define LOCAL
LISTING 2: THERME.RC
#define APP_CLASS "Therme" /* Window Class Name */
#define HIGHTEMP 100 /* Highest Displayable Temp */
#define LOWTEMP -20 /* Lowest Displayable Temp */
#include <windows.h>
#include "therme.h"
#define ICON NAME "Classlcon" /* Resource Icon ID String */
#define IDABOUT 005 /* ID for About... */
#define MENUNAME "MainMenu" /* Resource Menu ID String */
Classlcon ICON Therme.Ico
MainMenu MENU
#define VIEWPORT_ORGX 0 /* Viewport Origin X Coord */
#define VIEWPORT_ORGY 0 /* Viewport Origin Y Coord */
#define WINDOW_EXTX 1000 /* Window Extent X Coord */
BEGIN
POPUP "File"
#define WINDOW_EXTY 1000 /* Window Extent Y Coord */
#define WINDOW_ORGX 0 /* Window Origin X Coord */
#define WIND0W_0RGY 0 /* Window Origin Y Coord */
BEGIN
MENUITEM "Print", PRINT
END
#define WND_NAME "Therme" /* Window Name */
j* ************************** Local Data ************************** */
POPUP "Change"
BEGIN
BOOL bCurrentTempMode = TRUE, /* TRUE for Farenheit */
bOldTempMode = TRUE; /* Previous Temp Mode */
char ProStringBuffer [80]; /* Profile String Buffer */
MENUITEM "Set Temperature", SET_TEMPERATURE
END
END
HANDLE hModule, /* Instance Handle */
hWindow; /* Window Handle */
int GraphicTemp = 0, /* Graphic Temp Setting */
AboutDlg DIALOG 22,17,124,96
STYLE WS_POPUP | WS_DLGFRAME | WS_VISIBLE
Degreelnc =1, /* Temperature Increment */
OldTemp, /* Previous Temp Setting */
MathTemp; /* Math Temp. Conversion */
BEGIN
CONTROL "Sample Windows Application", 0, static,SS_LEFT,20,0,104,8
ICON "Classlcon", 0,0,0,0,0
PAINTSTRUCT Paint; /* Window Paint Structure */
RECT ClientRect; /* Client Area Rect. */
WORD ViewportWidth, /* Viewport X Extent */
CONTROL "Micrografx, Inc.",0,static,SS_LEFT,20,16,104,8
CONTROL "1820 N. Greenville Ave.",0,static,SS_LEFT,20,24,104,8
CONTROL "Richardson TX 75081",0,static,SS_LEFT,20,32,104,8
ViewportHeight, /* Viewport Y Extent */
ViewportOriginX =0, /* Viewport X Extent */
ViewportOriginY = 0; /* Viewport Y Extent */
CONTROL "Author: Patrick Leary",0,static,SS_LEFT,20,48,104,8
DEFPUSHBUTTON "Ok",IDOK,46,72,32,16
END
jh ************************ Local Routines ************************ */
LOCAL BOOL NEAR PASCAL command (HWND.WORD);
SetTempOIg DIALOG 22,17,90,62
STYLE WS_POPUP | WS_DLGFRAME | WS_VISIBLE | WS_CAPTION
LOCAL WORD NEAR PASCAL dialog_box (HWND,LPSTR,FARPROC);
LOCAL HWND NEAR PASCAL init_app (HANDLE,HANDLE,LPSTR,int);
LOCAL void NEAR PASCAL paint_window (HDC,WORD,WORD);
CAPTION "Set Temperature"
BEGIN
CONTROL »» ,0,STATIC,S$_BLACKFRAME,4,8,24,20
LOCAL BOOL NEAR PASCAL show_menu ( HANDLE,HWND);
LOCAL BOOL NEAR PASCAL command (hWindow,Choice)
CONTROL "",SET_DEGS,STATIC,SS_CENTER,12,12,12,8
CONTROL "",SCROLL_DEGS,"SCROLLBAR",SBS_VERT | WSTABSTOP,28,8,8,20
DEFPUSHBUTTON "Ok",IDOK,50,8,32,16
/* This routine receives and processes menu input. It calls the
various dialog box functions and initiating the print task */
HWND hWindow;
PUSHBUTTON "Cancel » ,IDCANCEL,50,24,32,16
RADIOBUTTON "Farenheit",FARENHEIT,4,40,50,10,WS_TABSTOP | WS_GROUP
RADIOBUTTON "Celsius/Centigrade",CELSIUS,4,50,86,10,
WORD Choice;
BOOL bHandled = TRUE;
END
SpoolDlg DIALOG 50,50,84,40
BYTE I tern;
FARPROC IpPrintProc;
HANDLE hPrintDlg;
CAPTION "Print"
STYLE WS_CAPTION | WS_POPUPWINDOW | WS_VISIBLE
BEGIN
HDC hPrintDC;
int PrintResult;
PSTR pDriverName,
CONTROL "Spooling Drawing...",0,STATIC,SS_LEFT,4,8,76,8
DEFPUSHBUTTON "Cancel",IDCANCEL,29,20,30,15,WS_GROUP | WS_TABSTOP
END
pPortName;
WORD HRes,
VRes;
FEBRUARY 1987
83
“How to protect your software
by letting people copy it”
By Dick Erett, President of Software Security
Hard Disk Installation : Simply copy program disk
to hard disk u sing •* C •
Program Back-ups : You may make as many copies of
[he program diskette as you wish.
Data Back-ups : Use normal back-up and restore
commands, including backing up sub-directories containing
program files.
Networks : This product may be
* works. Follow the same installation
on page 102 of this manual. The Block
with the normal operation of any
Soon all software installation procedures will be as straightforward as this.
The only difference will be whether you include the option to steal your
product or not.
Inventor and
entrepreneur,
Dick Erett,
explains his
company’s
view on the
protection of intellectual
property._
crucial point that
even sophisticated
software develop¬
ment companies and the
trade press seem to be miss¬
ing or ignoring is this:
Software protection must
be understood to be a
distinctively different
concept from that com¬
monly referred to as
copy protection.
Fundamentally, software
protection involves devising
a method that prevents
unauthorized use of a
program, without restricting
a legitimate user from
making any number of
additional copies or prevent¬
ing program operation via
hard disk or LANs.
Logic dictates that mag¬
netic media can no more
protect itself from misuse
than a padlock can lock itself.
Software protection must
reside outside the actual
storage media. The technique
can then be made as tamper
proof as deemed necessary.
If one is clever enough,
patent law can be brought
to bear on the method.
Software protection is at
a crossroads and the choices
are clear. You can give
product away to a segment
of tne market, or take a
stand against the theft of
your intellectual property.
giving your software
away is fine... 99
We strongly believe that
giving your software away
is fine, if you make the
decision to do so. However,
if the public’s sense of ethics
is determining company
policy, then you are no
longer in control.
We have patented a device
that protects your software
while allowing unlimited
archival copies and unin¬
hibited use of hard disks and
LANs. The name of this
product is The BLOCK™
The BLOCK is the only
patented method we know
of to protect your investment.
It answers all the complaints
of reasonable people con¬
cerning software protection.
In reality, the only people
who could object are those
who would like the option
of stealing your company’s
product.
“.. .eliminating the ratio¬
nale for copy-busting... 99
Since The BLOCK allows
a user to make unlimited
archival copies the rationale
for copy-busting programs
is eliminated.
The BLOCK is fully pro¬
tected by federal patent law
rather than the less effective
copyright statutes. The law
clearly prohibits the produc¬
tion of work-alike devices
to replace The BLOCK.
The BLOCK attaches to
any communications port of
virtually any microcomputer.
It comes with a unique
customer product number
programmed into the circuit.
The BLOCK is transpar¬
ent to any device attached to
the port. Once it is in place
users are essentially unaware
of its presence. The BLOCK
may be daisy-chained to
provide security for more
than one software package.
Each software developer
devises their own procedure
for accessing The BLOCK
to confirm a legitimate user.
If it is not present, then the
program can take appro¬
priate action.
“...possibilities...
limited only by your
imagination... 99
The elegance of The
BLOCK lies in its simplicity.
Once you understand the
principle of The BLOCK,
hundreds of possibilities will
manifest themselves, limited
only by your imagination.
Your efforts, investments
and intellectual property
belong to you, and you have
an obligation to protect
them. Let us help you safe¬
guard what’s rightfully yours.
Call today for our brochure,
or a demo unit.”
1 offware
ecuritij mc.
870 High Ridge Road Stamford, Connecticut 06905
203 329 8870
CIRCLE NO. 189 ON READER SERVICE CARD
WINDOWS
switch (Choice)
<
C
Item = MessageBox (hWindow,
case IDABOUT:
(LPSTR) "Not Enough Memory To Display Dialog Box",
dialog_box (hWindow,(LPSTR) "AboutDlg",about_dialog);
(LPSTR) NULL,
break;
MB_0K | MBJCONHAND);
>
case SET_TEMPERATURE:
FreeProcInstance (IpProc);
dialog_box (hWindow,(LPSTR) "SetTempDlg",set j:emp_dialog);
InvalidateRect (hWindow,(LPRECT) &ClientRect,TRUE);
break;
return (Result);
case PRINT:
>
LOCAL HWND NEAR PASCAL init_app (hPrevious,hInstance,lpCmdLine,Show)
GetProfileString ((LPSTR) "windows".
/* This function handles the initialization of the sample
(LPSTR) "device".
application. This includes registering the window class,
NULL,
creating the window, and loading the menus. The viewport
(LPSTR) ProStringBuffer,
coordinates of the client area of the window are also
80 );
established in globally available variables */
pDriverName = strchr (ProStringBuffer,',');
HANDLE hPrevious,
♦pDriverName = '\0';
hInstance;
pDriverName++;
int Show;
pPortName = strchr (pDriverName,',');
LPSTR IpCmdLine;
♦pPortName = '\0';
<
pPortName++;
BOOL bRegistered;
hPrintDC = CreateOC ((LPSTR) pDriverName,
HWND hWindow;
(LPSTR) ProStringBuffer,
WNDCLASS Class;
(LPSTR) pPortName,
NULL);
hModule = hInstance;
if (hPrintDC == NULL)
Item = MessageBox (hWindow,
Class.style = CS_OWNDC | CSJ/REDRAW | CS_HREDRAW;
(LPSTR) "Cannot Print. Please Select Printer",
Class.IpfnWndProc = AppWndProc;
(LPSTR) NULL,
Class.cbClsExtra = NULL;
MB_OK | MB_ICONHAND);
Class.cbWndExtra « NULL;
else
Class.hInstance = hInstance;
t
Class.hCursor * LoadCursor(NULL,IDC_ARROW);
HRes = GetDeviceCaps (hPrintDC,HORZRES);
Class.hlcon = LoadIcon(hInstance,(LPSTR) "Classlcon");
VRes = GetDeviceCaps (hPrintDC,VERTRES);
Class.hbrBackground = GetStockObject (WHITE_BRUSH);
IpPrintProc = MakeProcInstance (print_dialog,hModule);
Class.IpszMenuName = (LPSTR) NULL;
hPrintDlg = CreateDialog (hModule,(LPSTR) "SpoolDlg",
Class.IpszClassName = (LPSTR) APP_CLASS;
hWindow,IpPrintProc);
PrintResult = Escape (hPrintDC,STARTDOC,11,
bRegistered = RegisterClass((LPWNDCLASS) &Class);
(LPSTR) "Thermometer",NULL);
if (PrintResult == -1)
hWindow = CreateWindow ((LPSTR) APPCLASS,
Item = MessageBox (hWindow,
(LPSTR) WND_NAME,
(LPSTR) "Cannot Print. Bad Port or Insuffic. Memory",
WS TILEDWINDOW,
(LPSTR) NULL,
o.
MB_OK | MBJCONHAND);
0,
else
0,
t
0,
paint_window (hPrintDC,HRes,VRes);
(HWND) NULL,
Escape (hPrintDC,NEWFRAME,NULL,NULL,NULL ) ;
(HMENU) NULL,
Escape (hPrintDC,ENDDOC,NULL,NULL,NULL);
(HANDLE) hlnstance.
DestroyWindow (hPrintDlg);
(LPSTR) NULL);
DeleteDC (hPrintDC);
ShowWindow (hWindow,Show);
FreeProcInstance (IpPrintProc);
>
GetClientRect (hWindow,(LPRECT) &CIientRect);
>
ViewportWidth = ClientRect.right;
break;
ViewportHeight= ClientRect.bottom;
default:
show_menu (hlnstance,hWindow);
bHandled = FALSE;
>
return (hWindow);
>
LOCAL void NEAR PASCAL paint_window (hDC,ExtentX,ExtentY)
return (bHandled);
/* This function erases the window background and repaints the
>
thermometer using the given device context. The variable
LOCAL WORD NEAR PASCAL dialog_box (hWindow,IpDialog,IpCallBack)
GraphicTemp is used to visibly update the rectangle that
/* This function displays a given dialog box and returns the value
represents the temperature. */
ret'd by the dialog box call-back function. The function first
HDC hDC;
creates a relocation-independent version of the call-back
WORD ExtentX,
function, then calls DialogBox. If Windows indicates an
ExtentY;
insufficient memory condition exists, then the user is so
C
informed. Additionally, since the drawing area always needs to
char Buffer[3];
be updated after a dialog box is removed, the client area of the
int StartHashX = 460,
window is invalidated so as to be completely redrawn. */
StartHashY = 100,
HWND hWindow;
EndHashX = 485,
LPSTR IpDialog;
EndHashY = 100,
FARPROC IpCalIBack;
HashCount = 12,
C
Hash Inc = 5,
BYTE Item;
Degree = HIGHTEMP,
FARPROC IpProc = MakeProcInstance ( IpCalIBack,hModule);
StringLength;
int Result = DialogBox (hModule,IpOialog,hWindow,IpProc);
PSTR pDegreeString;
if (Result == -1)
SetMapMode (hDC,MM_ISOTROPIC);
FEBRUARY 1987
85
Alsys launches
PCAT-TO-370ADA
Cross-Compiler at
November ADA Expo;
80286 Debugger also
introduced.
A new Alsys cross-compiler permitting
Ada programs to be written on an
IBM-PC AT and executed on an IBM 370
was introduced at the November Ada
Expo in Charleston, W. VA. The cross-
compiler, pre-validated to AJPO test
suite 1.7, is priced at $2,995 and
includes a 4 MB RAM board.
Two compilers, the Alsys validated
PC AT self-hosted compiler, and the
AT-to-370 cross-compiler, are offered
as an option at $4,995. One RAM
board serves both compilers.
The cross-compiler, and
especially the two-compiler
option, implements a "dis¬
tributed programming’ ’
environment for which the
Ada language and its
' ‘package’ ’ concept is par¬
ticularly suited. The two- '
compiler option permits
developers to program in
Ada and test their results at
their workstations before uploading
370 object code to the mainframe.
Alsys also introduced its PC AT
debugger called AdaPROBE at the Expo.
AdaPROBE combines a unique Ada-
VIEWER with regular debug facilities.
ALSYS, INC.,
1432 Main Street, Waltham, MA 02154
PCTJ 2/87
ADA NOW. Tell me more about the
cross-compiler.
Name/Title-
Company_
Address_
City / State/Zip_
Phone/Ext_
' In the US: Alsys Inc., 1432 Main St., Waltham, MA
02154 Tel: (617)890-0030
In the UK: Alsys Ltd., Partridge House, Newtown
Rd., Henley-on-Thames, Oxon RG91EN
Tel: 44 (491) 579090
In the rest of the world: Alsys SA, 29, Avenue de
Versailles, 78170 La Celle St. Cloud, France
Tel: 33 (1) 3918.12.44
* Ada is a registered trademark of the U.S.
Government (AJPO). Alsys is the trademark of
Alsys, Inc. References to other computer systems use
trademarks owned by the respective manufacturers.
CIRCLE NO. 141 ON READER SERVICE CARD
WINDOWS
SetWindowOrg (hDC,0,0);
SetWindowExt (hDC,1000,1000);
SetViewportOrg (hDC,ViewportOriginX,ViewportOriginY);
EndPaint (hWindow,(LPPAINTSTRUCT) SPaint);
>
else
SetViewportExt (hDC,ExtentX,ExtentY);
FillRect (hDC,(LPRECT) &Paint.rcPaint,
GetStockObject (WHITE_BRUSH));
bHandled = FALSE;
if (bHandled == TRUE)
Rectangle (hDC,460,50,540,725);
SelectObject (hDC,CreateSolidBrush (RGB (255,00,00)));
Result = (long) 0;
else
Result = DefWindowProc (hWindow,Message,Word,Long);
Ellipse (hDC,375,700,625,950);
Rectangle (hDC,480,(600 - (GraphicTemp * 5)),520,700);
SelectObject (hDC,GetStockObject (WHITE_BRUSH));
return (Result);
>
for (;HashCount>=1;--HashCount)
C
BOOL FAR PASCAL about_dialog (hDialog,Message,Word,Long)
HWND hDialog;
unsigned Message;
pOegreeString = itoa (Degree,Buffer,10);
StringLength = strlen (pOegreeString);
MoveTo (hDC,StartHashX,StartHashY);
WORD Word;
LONG Long;
/* This function is called by Windows to handle input to the About...
TextOut (hDC,
(StartHashX-75),
(StartHashY-15),
dialog box. Since "OK" is the only option available to the user,
only one message is processed, namely, WMCOMMAND. */
<
pOegreeString,
BOOL Result = TRUE;
StringLength);
LineTo (hDC,EndHashX,EndHashY);
if (Message == WMCOMMAND)
MoveTo (hDC,(EndHashX + 30),(EndHashY + 25));
EndDialog (hDialog,Result);
LineTo (hDC,(EndHashX + 55),(EndHashY + 25));
else
Degree = Degree * Hashlnc;
Result = FALSE;
pOegreeString = itoa (Degree,Buffer,10);
StringLength = strlen (pOegreeString);
return (Result);
TextOut (hDC,
>
(EndHashX +65),
BOOL FAR PASCAL print_dialog (hDialog,Message,Word,Long)
(EndHashY +10),
HWND hDialog;
pOegreeString,
unsigned Message;
StringLength);
WORD Word;
LONG Long;
StartHashY = StartHashY + 50;
/* This function processes input to the modeless dialog box created
EndHashY = EndHashY + 50;
when the user selects the "Print" command from the file menu. */
Degree = Degree * Hashlnc;
<
>
BOOL Result = TRUE;
>
LOCAL BOOL NEAR PASCAL showjnenu (hlnstance,hWindow)
if (Message == WM_COMMAND && Word == IDCANCEL)
/* This function loads and displays the available menu resources,
EndDialog (hDialog,Result);
and adds the "About..." option to the system menu. */
else
HANDLE hInstance;
Result = FALSE;
HWND hWindow;
return (Result);
C
BOOL bSetMenu;
>
BOOL FAR PASCAL set_temp_dialog (hDialog,Message,Word,Long)
HMENU hMenuResource,
HWND hDialog;
hSysMenu;
unsigned Message;
WORD Word;
hMenuResource = LoadMenu (hlnstance,(LPSTR) MENUNAME);
LONG Long;
bSetMenu = SetMenu (hWindow,hMenuResource);
/* This function is called by Windows to process input to the Set
hSysMenu = GetSystemMenu(hWindow,0);
Temperature dialog box. It looks for input from the scroll bars
ChangeMenu (hSysMenu,NULL,(LPSTR) NULL,NULL,
and updates the associated control each time a WM_VSCROLL
MF_SEPARATOR | MF_APPEND);
message is received. As part of the dialog's initialization,
ChangeMenu (hSysMenu,IDABOUT,(LPSTR) "About..IDABOUT,
the current temperature is remembered in case the user changes
MF_APPEND);
it and then cancels the dialog. This ensures that the correct
return (bSetMenu);
temperature will be displayed. The GraphicTemp variable is used
>
for visible updating of the Thermometer when MathTemp falls
fh ********************** Exported Routines *********************** */
within displayable limits. */
long FAR PASCAL AppWndProc (hWindow,Message,Word,Long)
/* This Routine handles all input to the application. Any input
BOOL Result = TRUE;
values that the routine chooses not to handle are passed to the
default window procedure. */
if (Message == WMJNITDIALOG)
HWND hWindow;
unsigned Message;
SetDlgltemlnt (hDia log,SET_DEGS,MathTemp,1);
WORD Word;
OldTemp = MathTemp;
long Long;
bOldTempMode = bCurrentTempMode;
(
if (bCurrentTempMode == TRUE)
BOOL bHandled = TRUE;
CheckRadioButton (hDialog,FARENHEIT,CELSIUS,FARENHEIT);
long Result;
else
CheckRadioButton (hDialog,FARENHEIT,CELSIUS,CELSIUS);
if (Message == WM_COMMAND || Message == WM_SYSCOMMAND)
>
bHandled = command (hWindow,Word);
else if (Message == WM_COMMAND)
else if (Message == WM_PAINT)
C
switch (Word)
paint_window (BeginPaint (hWindow,(LPPAINTSTRUCT) &Paint),
C
ViewportWidth,
case CELSIUS:
ViewportHeight);
CheckRadioButton (hDialog,FARENHEIT,CELSIUS,CELSIUS);
if (bCurrentTempMode == TRUE)
(
FEBRUARY 1987
87
“When Teradyne's
Financial Systems
Group needed DEC
terminal emulation
software we
chose VTERM."
Gregg Prescott
Teradyne, fnc.
VTERM/220
Over 35,000 VTERM users, like Teradyne’s Financial Sys¬
tems Group, recognize the importance of critically evalu¬
ating a DEC terminal emulator. Demanding professionals
require high quality, reliable DEC terminal emulation.
After painstaking evaluation, Teradyne’s Gregg Prescott
said, “With VTERM’s speed, ease of use, hot key
and host control of file transfer, we can build systems
around VTERM utilizing distributed PC applications.”
Coefficient’s VT100 terminal emulator, introduced in 1981, was the first in the
industry. Our thorough attention to detail at every stage of the design, develop¬
ment and testing process has won us more satisfied users than all our competi¬
tion combined. Now, a new more powerful VTERM supports VT220 terminal
emulation. Powerful features include:
• Plug compatible VT220 and VT100 video and keyboard emulation with
customizable key mappings.
• Optional Tektronix™ 4010/4014 graphics terminal emulation.
• Powerful file transfer including the most thorough implementation of
KERMIT available on the PC, plus XMODEM, and our proprietary
protocol VTRANS with complete host-side software for VMS™ RSTS/E™
RSX11 M/M+™ and UNIX™
Quality makes all
other DEC terminal
emulators obsolete
CIRCLE NO. 212 ON READER SERVICE CARD
Trademarks: DEC, VMS, RSTS/E, RSX11 M/M + , Digital Equipment Corp.;
Tektronix, Tektronix, Inc.; Lotus, 1-2-3,
Symphony, Lotus Development Corp.; dBase, Ashton-Tate, UNIX, AT&T, Bell Laboratories.
• Host data capture and conversion to Lotus® 1-2-3® Symphony®
and dBase®
• 132-column display via horizontal scrolling or optional video board.
• Scrollback buffer for redisplay of up to 2,000 lines (80 screens!).
• “Hot Key” toggle between host session and PC DOS.
• Programmable softkeys with script-like capabilities.
• Full support for multinational and national character sets.
Call 212-777-6707 ext. 502, to get the best there is in
DEC terminal emulation and communications software.
Coefficient
The Leader in DEC Emulation Software
Coefficient Systems Corporation
611 Broadway, New York, N.Y. 10012
WINDOWS
MathTemp = (5*(MathTemp - 32))/9;
if (MathTemp > HIGHTEMP)
GraphicTemp = HIGHTEMP;
else if (MathTemp < LOWTEMP)
GraphicTemp = LOWTEMP;
else
GraphicTemp = MathTemp;
bCurrentTempMode = FALSE;
SetDlgltemlnt (hDialog,SET_DEGS,MathTemp,1);
>
else
break;
break;
case FARENHEIT:
CheckRadioButton (hDialog,FARENHEIT.CELSIUS,FARENHEIT);
if (bCurrentTempMode == FALSE)
i
MathTemp = ((9*MathTemp)/5)+32;
if (MathTemp > HIGHTEMP)
GraphicTemp = HIGHTEMP;
else if (MathTemp < LOWTEMP)
GraphicTemp = LOWTEMP;
else
GraphicTemp = MathTemp;
bCurrentTempMode = TRUE;
SetDlgltemlnt (hDialog,SET_DEGS,MathTemp,1);
>
else
break;
break;
case IDOK:
EndDialog (hDialog,Word);
break;
case IDCANCEL:
MathTemp = OldTemp;
bCurrentTempMode = bOldTempMode;
EndDialog (hDialog,Word);
break;
default:
I
)
>
else if (Message == WMVSCROLL)
C
switch (Word)
<
case SB_LINEUP:
MathTemp = MathTemp + Degreelnc;
break;
case SB_LINEDOWN:
MathTemp = MathTemp * Degreelnc;
break;
default:
MathTemp = MathTemp + 0;
>
if (MathTemp < LOWTEMP)
C
GraphicTemp = LOWTEMP;
SetDlgltemlnt (hDia log,SET_DEGS,MathTemp,1);
>
else if (MathTemp > HIGHTEMP)
(
GraphicTemp = HIGHTEMP;
SetDlgltemlnt (hDialog,SET_DEGS,MathTemp,1 );
)
else
l
GraphicTemp = MathTemp;
SetDlgltemlnt (hDialog,SET_DEGS,MathTemp,1);
>
>
else
Result = FALSE;
return (Result);
>
int FAR PASCAL WinMain(hInstance,hPrevious,IpCmdLine,Show)
/* This routine is called whenever a new instance of the
application is created. First, init_app is called so that all
necessary initialization can take place. Then a loop is created
that waits for input to the application and dispatches the input
values to the application's window procedure. */
HANDLE hlnstance,
hPrevious;
LPSTR IpCmdLine;
int Show;
(
HWND hWindow;
hWindow = init_app (hPrevious,hlnstance,IpCmdLine,Show);
if (hWindow != NULL)
(
MSG Message;
while (GetMessage ((LPMSG) SMessage,NULL,0,0))
C
TranslateMessage ((LPMSG) SMessage);
DispatchMessage ((LPMSG) &Message);
>
>
return (0);
>
LISTING 4: THERME.H
/* (c) Copyright 1985 MICROGRAFX, Inc.,
1820 N. Greenville Ave., Richardson, Tx. 75081.
THERME.H
★ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★Tit
This file declares data and routines exported by THERME.C.
#define CELSIUS 04
#define FARENHEIT 03
#define LINTARGS
#define PRINT 100
#define SCROLL_DEGS 02
#define SET_DEGS 01
#define SETTEMPERATURE 300
extern BOOL FAR PASCAL about_dialog (HWND,unsigned,WORD,long);
extern long FAR PASCAL AppWndProc (HWND,unsigned,WORD,long);
extern BOOL FAR PASCAL print_dialog (HWND,unsigned,WORD,long);
extern BOOL FAR PASCAL set_temp_dialog (HWND,unsigned,WORD,long);
extern int FAR PASCAL WinMain (HANDLE,HANDLE,LPSTR,int);
LISTING 5: THERME
therme.obj: therme.c \
therme.h
cl -c -AM -Gsw -Oas -Zpe therme.c
therme.res: therme.re \
therme.h \
therme.ico
re -r therme.rc
therme.exe: therme.def \
therme.obj \
therme.res
link4 therme,therme.exe,therme/map,mlibw,therme.def
mapsym therme
rc therme.res
FEBRUARY 1987
89
Pfix86 plus
Pfinish
PIink86/?fc
PforCe
PC BRAND
NOW PFEATURES
PFANTASTIC
T oday's professional programmer demands high performance
tools that speed up and enhance the application development
process. That’s why more programmers rely on one company for
the best engineered, highest performance tools available—
Pheonix.
P hoenix offers a full line of powerful, yet easy-to-use, tools
that help programmers more efficiently write, test and
deliver the best applications possible. Complete, fully detailed
documentation accompanying each tool enables quick mastery of
the product. In addition, all Phoenix tools are backed by full-time
customer support professionals respected throughout the indus¬
try for their commitment and expertise. As a result, many
Phoenix tools are already established as industry standards and
others are fast on their way.
Flink™ 86 plus
P link86pyus is the only linkage editor
containing advanced overlay capa¬
bilities. It handles any compiler or
assembler producing standard Intel or
Microsoft OBJ files, including COBOL
and FORTRAN, Lattice C, Cl C-86,
Microsoft/IBM languages, and
mbp/COBOL. Virtual memory manage¬
ment ensures ample capacity for sym¬
bol and common block names (35,000).
Plink86 plus supports an unlimited size
file, an unlimited number of modules
and up to 4,095 overlays nested up to
32 deep. Merges object modules,
caches overlays in extended or ex¬
panded memory, and automatically
reloads overlays upon function return.
Includes Plib86 object library manager.
List: *495 PC Brand *359
Plib™ 86
P lib86 is an object module librarian
for Microsoft and Intel format
object modules and libraries. With
Plib86, you can add, delete or extract
modules to or from libraries, and
explode a library to its component
modules with one command. Plib86 also
produces program cross-reference
listings in various formats to a disk file,
screen or printer.
Originally listed at $195. Plib86 is now
included with P\mk86plus.
Ptel
A Pfantastic communications program
for use with most popular modems
such as Hayes and compatibles, DEC,
Racal Vadic, Anchor, US Robotics and
Novation. Ptel automatically adapts to
'Mink, XModem, Kermit or Modem 7
for CRC checking and for ufn and afn
(i.e. ‘'wildcard”) file name list transfers,
if the bulletin board or the other end
computer supports them. With Mink,
you’ll even get a forecast of file trans¬
mission time, always useful in controll¬
ing telephone expenses.
In addition to saving received files,
Ptel can create and save a transcript of
the session commands and messages.
Highly configurable, with choices
temporary or saved as altered defaults.
Unique telephone directory of bulletin
boards and other services, allowing
access by service name. Ptel runs fully
interactive or can be batch driven from
a script. You can even exit to DOS
move files around or run another appli¬
cation and then return to Ptel, all with¬
out dropping the line.
List: *195 PC Brand: *149
Pasm™ 86
P asm86 provides both quick assem¬
bly and superior syntax checking,
plus a wealth of other features and
utilities to maximize programming pro¬
ductivity. It is a fully MASM-compatible
8086 macro assembler that supports
8087, 80286 and 80287 operating code
mnemonics. Features include ability to:
define local symbols in the current pro¬
cedure, assemble files with up to 15,000
symbols, define symbols at assembly
time, obtain listings of error lines only,
with warning messages on questionable
statements. Pasm’s comprehensive
documentation includes detailed
descriptions and examples of each pro¬
cessor instruction. Now includes Pfix-
Lite, a subset of Pfix86 plus.
List: *195 PC Brand: *144
Pmate™
A full screen, single keystroke, fully
customizable text processor/
editor with advanced features includ¬
ing: ability to run in the background, C
and FORTRAN specific macros, auto¬
matic disk buffering, ten individual
auxiliary buffers, menu, mouse, or
command driven with extensive macro
command language, and horizontal
scrolling. Pmate offers automatic word
wrap, text formatting, global or local
setting of margins, tab stops, indents,
and a unique last-in, first-out "garbage
stack” that saves deleted items for
recovery.
List: $195 PC Brand: *149
Pre-C™
N ow twice as fast! Similar to the Unix
LINT for C, but with additional
functionality. It crosschecks multiple
source files and libraries at once,
reporting incorrect, obsolete, and non¬
portable C usages that no compiler
would catch. Pre-C immediately uncov¬
ers errors in interfaces between pro¬
gram modules which are very difficult
to find using only a debugger. Pre-C
accepts full UNIX System III C syntax,
a subset of which is implemented by
most MS-DOS C compilers, as well as
ANSI proposed extensions. External
libraries can be used with or without
source code. Pre-C libraries for the
latest releases of the Mark Williams,
Lattice, Cl, Microsoft, Wizard, and
Aztec ”C” compilers are included, and
others can be added by supplying Pre-
C with function names and arguments.
All memory models are supported.
List: *295 PC Brand: *208
Pfinish™
P finish helps to "fine-tune” a soft¬
ware product by identifying ineffi¬
cient or unnecessary sections of code
that need to be rewritten for maximum
performance. It analyzes your program
during execution, producing reports
and histograms that give a snapshot of
which routines were reached, their
callers, how many times each is
executed, how much time is spent in
each, how many instructions are
executed in each, and more. Histo¬
grams and tabular reports, sorted by
address or symbol, may be written in
any page width or height, to a file, the
console, or the printer. Pfinish, unlike
other "profilers", can use symbol table
information to produce much more
meaningful analyses on overlays and
interrupts.
List: *395 PC Brand *279
Pdisk™
P disk is a complete disk manage¬
ment package that includes ad¬
vanced Backup/Restore, Tree Manage¬
ment and Disk Cache utilites. Menu,
command line or file-driven. Many
options permit backup/restore mclu-
sions/exclusions, whole and partial sub¬
directories, backups by date/time, file
type, and backups of all files or files
changed since last backup. It can also
maintain a log of backups. Supports AT
high-density floppies, PC floppies, and
any storage device accessible through
a device driver. Tree-oriented Direc¬
tory, Delete, Copy, Compare, and
Remove-Directory simplify manage¬
ment of complicated subdirectory struc¬
tures. CACHE significantly speeds up
disk operation on PC/XT/AT by keep¬
ing data in memory instead of disk. In
addition. CACHE is compatible with the
Lotus-Intel-Microsoft (LIM) expanded
memory specification, as well as ex¬
tended memory.
List: *195 PC Brand: *148
i
Pmaker™
S imilar to the Unix MAKE utility,
Pmaker keeps track of which
modules in a program are changed,
and recompiles, reassembles, and
relinks those modules to produce a
finished product—all with a single com¬
mand. An essential tool for managing
large, complicated, or distributed pro¬
gramming projects, Pmaker is easier to
use than similar products, which re¬
quire you to create lists of all your input
files. Pmaker includes a utility that auto¬
matically creates and edits such lists
based on answers to a few simple
questions. Pmaker works with any com¬
piled language, linker, or other tool you
use.
List: *125 PC Brand: *105
Pfix™ 86 plus
P ix86 plus is an easy to use, menu
driven, multi-windowed symbolic
debugger that works with any IBM or
Microsoft compiled language.
Phx86plus accesses the full symbol
table provided by MS Link or
Plmk86 plus, and automatically handles
Plink86p/us-overlaid or resident pro¬
grams. Source code, assembly lan¬
guage translations, stack, data areas,
and breakpoints are displayed simul¬
taneously. Features include: In-line
assembler for temporary patches,
temporary and permanent breakpoint
settings, full speed or trace modes,
user-assignable variables, dual-monitor
support, up to 100-step traceback,
debug log to disk or printer, synchron¬
ized source file display, breakpoints in
source code, disassembly to disk, con¬
figurable menus, multiple code and
data windows, and keystroke macros.
List: *395 PC Brand: *279
PforCe™
P forCe is a pre-coded optimized
object-oriented toolkit of over 400
routines for C programmers. It includes
data bases with B-trees, windows,
interrupt-driven communications, string
handling, menus, all of the basic DOS
interfaces, and a complete set of low-
level functions to interface directly to
the hardware. PforCe comes complete
with indexed reference manual, on line
resident help, and quick reference
card. It supports all memory models of
the following C compilers: Lattice,
Aztec, Microsoft, CI-86, and Wizard.
PforCe includes full source code and
there are no royalties on generated ap¬
plications using the libraries. A
demonstration diskette is also available.
List: *395 PC Brand: *289
Pfantasy Pac
A super value pac of Phoenix good¬
ies. Includes Pfix86 plus, Pmate,
Ptel, Plink8 6plus, Pmaker and Pfinish.
List: $1295 PC Brand: $895
For Orders, Literature, or Catalogs, Call Us at...
8 OOPC-BRAND
That's (800) 722-7263. In NY State call (212) 242-3600
PC Brand, 150 5th Ave., New York, N. Y. 10011-4311
Telex: 667962 (SOFT COMM NYK)
© 1986 PC BRAND Prices, terms, and specifications subject to change without notice.
PC BRAND; CAREFULLY CHOSEN
PROGRAMMER TOOLS pgggs£
BRIEF Is Anything But.
A Whopper of an Editor
W ith a name that belies its thorough¬
ness, Brief™ has every feature
you’ve ever contemplated for your editor-
in-chief. Text, from keyboard or files, is
housed in multiple buffers, and scrolled
through one or more windows you open,
close, resize. A text buffer may be called to
different windows to view two areas at
once. A change in one changes both. Text
blocks may be marked for printing, writing
to files, movement to scrap buffers for cut
and paste into other buffers, or deletion,
with as many "undo” levels as you want.
Brief has text search abilities rivaling
"grep”, with wildcards for matching,
indifference to intervening characters,
acceptance of character ranges.
If you use Lattice, C86™, or Wizard, and
have 320k, you can compile your C
program without ever leaving Brief. It finds
the lines with errors, and marches you
through the text for repairs.
Parts of Brief were written with its own
Lisp-like macro language which has
structure, 32-character variable names,
conditional execution, loops, and you can
actually read it! Nothing like the
hieroglyphs we’ve seen elsewhere. Bulletin
board arid public domain disks with
macros. "Simply the best text editor you
can buy", Dvorak Infoworld. (Needs 192k.)
Ask for: List: PC Brand:
U0590 *195 Call
HALO GRAPHICS
SYSTEM Multi-Board
Graphics Library
The premier graphics library that got the
ball rolling for PC-based graphics and has
grown so omnipotent that it supports over
25 graphics boards — including IBM’s
EGA and Nr. 9 Revolution's hi-res series —
and has a multitude of mouse and printer
drivers. All that in each box. Separate C
versions for Lattice, M’soft, Aztez, CI86.
What does Multi-Halo do? A down to the
last pixel graphics library plus functions to
reset drivers so distributed program can
run on anything. Wonderful value for single
license. Costly royalties though for
redistribution. Specify: S0315 & Language.
List: *300. We: * 219 . With Dr. Halo II, a free¬
standing "paint”: List: *440, Us: * 299 .
WINDOWS for C/WINDOWS for DATA
Microsoft Windows™ and TopVieW™ Compatible
w
1 indows for C™is a library of over 80
functions to add the pizazz and prac¬
ticality. of window partitioning to your
application. Unlimited windows, each
defined in a C structure for easy reference
throughout your program, can be made
either to pop up or permanently overwrite
the screen. Routines will scroll and
highlight lists with arrow keys, will read
and scroll ASCII files vertically and
horizontally in windows, and even write to
memory-loaded files off the screen.
Logical treatment of video, attributes
permits unchanged programs to run on
color or monochrome. Colors of windows
are set individually.
All functions are in separate modules;
only those used are linked. Only buffers
holding on-screen or temporarily
obscured windows occupy RAM; others
released dynamically. Best overall rating
and fastest display in Bill Hunt's 7/85 Tech
Journal review of five windowing products.
Windows for Data comprises all of
Windows for C but takes in data through
the windows as well. At the high level a
single function lets you specify prompt
string, field length, data type, screen
location, picture, target variable, then sets
lesser functions scurrying to get and
process a user’s input. There are utilities to
get system date and time, mess with
strings, create your own masks for fields.
Field options can require entry, prevent
entry, permit insert or overtype, beeping
on invalid or overflow keystrokes, and
attachment of field-specific help messages
and functions you want called to display
messages or validate entries. And you
decide which keys will clear a field, jump
to the next or prior, quit, etc. Options
diverse enough that a set of "fields" can be
made to behave like a Lotus™ menu.
Specify Compiler: List: PC Brand:
T0100 Windows for C *195 *149
T0150 Windows for Data *295 *259
TorLthroughN-:f e sea i, some
^X^ornPCB^
MICROSOFT C 4.0
A Great CBattle Rages and You’re Winning
A s the dreadnaughts pound each
other with ever heavier ordnance,
today’s programmers reap the spoils of this
war. Bundling a source debugger and a
"make”, and sporting a "huge" memory
model permitting single data objects
larger than 64k, the Microsoft C compiler
has jumped a full version number to 4.0.
But what’s really impressive are the bench¬
marks reported in Dr. Dobb’s (8/86)
encyclopaedic survey of 17 C compilers.
Microsoft's and IBM’s C (licensed from
Microsoft) run away with the contest
winning 11 of 27 benchmarks.
The CodeView™ debugger, free for a
limited time, uses windows to show every¬
thing on one screen: source alongside
disassembled object, variables, stack and
registers. Drop down windows—use a mouse
if you like—obviate learning of commands.
"A source-level debugger that puts the rest
C-TREE
B-Tree File Manager, Source Code, No Royalties!
c
-tree is sturdy code that has
weathered many seasons of pro¬
longed and widespread use. It comes in C
source, so you can modify it to fit a special
case. No royalties provided you bind it into
your binary application.
C-tree’s design splits nodes to allow any
number of users to access an index file
simultaneously even when updates are in
progress. So multi-user configurations and
adaptation to networks are possible.
Record-locking routines are provided for
dBC Lattice Library Maintains dBASE
Compatible Files With the Power and Speed of C
d BC™ links C to dBASE. It creates and
maintains files and their indexes which
exactly replicate dBASE file design. So
dBASE can read and update them. And
the reverse. dBC can use any files created
by dBASE. Now C and dBASE can operate
on the same data bases interchangeably.
That opens up the widespread culture of
dBASE installations to exploitation by C
programmers. Tap that market, avoid the
resident dBASE language, and gain the
advantages of C with this single product.
dBC’s functions parallel all dBASE's file
handling commands, many decomposed
to give closer control. Each backed by
demo source files on disk.
Use dBC for custom work for clients, or
on its own. It’s a complete ISAM file
manager for C whether or not dBASE will
be used in tandem, supports all four
memory models, and can have sixteen
index and data files open. Big discount to
buyers of both dBASE II and III versions.
Specify Lattice, Microsoft 3.x, or DeSmet.
DOS 3.1/3.2, UNIX and XENIX.
Thanks to source code which does not
deviate from the K&R standard, C-tree can
travel. Tests in many environments prove
that C-tree gives your application a ticket
to anywhere.
C-tree permits any number of keys for a
data file, supports duplicate keys,
alphanumeric or numeric, supports files of
variable record length; multiple keys in
one index file, and keys of variable length.
Both high level ISAM routines which handle
details with minimum coding, and decom¬
posed step-by-step functions you can access
directly. It’s comprehensive.
Ask for: List: PC Brand:
F0660 *395 *329
to shame” (Dobb’s),
Microsoft C now has five memory models
for code and data, plus non-library support
for another thirteen, and boasts alternate
math packages for speed versus accuracy,
with or without 8087/80287 chips. A big
plus in multi-language settings: call from
this C any routine written in later versions
of M’soft Pascal, FORTRAN, or Macro
Assembler. Object code of all four may be
intermixed come link time or commingled
into libraries.
Both linker and library manager are part
of the package, as is the "make", a UNIX™
name for a smart batch program which
knows to expend minimum effort to rebuild
any size of project by compiling and
assembling only elements affected by new
or changed modules.
It is reportedly used by Lotus, Ashton¬
Tate and, fittingly, Microsoft itself to develop
■ Windows. Dobb’s calls it "the best MS-DOS
C development environment value today
[for] virtually any kind of program
conceivable" 320k suggested.
Ask for: List: PC Brand:
G0500 *450 *295
CURSES Unix Style Screen
Management
Curses from Lattice™ manages the screen
of the PC like Unix™ curses. Library of 84
functions and macros parallels Unix with
matching parameter lists. So Unix pro¬
grams are at home on the PC, and vice
versa. Keeps any number of screens in
memory, supports color, vast function set to
get characters, wrap lines, scroll, blank
lines, highlight, etc. Like Unix refreshes
screen only on your command. Ask for:
L0850. List: *125. Here: *99. With Source:
L0860, *250/*199
Versions:
List:
PC Brand:
L00II
For dBASE II
*250
*195
LCCII
With Source
*500
*390
LOIII
For dBASE III
*250
*195
LCIII
With Source
*500
*390
Latest'f^lfsted!sinst<**
Everything^ for cre dit
W No su/chfgndhe-spot
educa-
J FOR
ssessss*
PANEL Feature-Laden Screen Design Tool
checking user field entries. Diverse at¬
tributes may be selected for any field —
size, data type, color, conversion of input
to upper case; clearance of existing data
when new entry is started; masks for
standard formats (eg, dates); phrases
which fill in when their first letter is
typed; multiple-choice lists from which
to choose by cursormg a highlighted bar.
Fields may be multi-lined and scrolled if
larger than the screen space allotted
them. Specify: S0400 & Compiler. List:
*295 Us: *229
W riting your own screenware can
blow completion dates and profits.
Panel™ works with you interactively to
set up foolproof screen displays and
data entry forms rapidly. Output is C
source code.
Not just single plane: layer your screen
designs with up to ten overlapping
images: Background pop-up lists, help
boxes, and alternate input fields.
Panel builds in a user interface for
keystroke movement within and between
fields, supplies validation routines for
For Orders, Literature, or Catalogs, Call Us at...
800 PC-BRAND
That's (800) 722-7263. In NY State call (212) 242-3600
PC Brand, 150 5th Ave., New York, N.Y. 10011-4311
Ttelex: 667962 (SOFT COMM NYK)
(I 1986 PC BRAND
Prices, terms, and specifications subject to change without notice.
TODAY’S TOP QUALITY AIDS TO
PROGRAMMING PRODUCTIVITY
DAN BRICKLIN’S DEMO PROGRAM
Storyboard Your Program
GREENLEAF Bountiful
FUNCTIONS Harvest
C source, assembler source, and binary
libraries of 225 functions for many com¬
pilers. Emphasizes tight functional group¬
ings to minimize loading code which your
application may never use. Manual helps
select functions, bulletin board, too.
A sampling: DOS extensions for file and
directory manipulation; Screen: to select
mode, page, monochrome or color, palette;
cursor shape, positioning; clearing and
scrolling; pixel get and put; read light pen.
Stnngs: Center, justify, etc.; efficient list
operations which add, delete, sort string
pointers for top speed. Other: graphics
character primitives, keyboard status, func¬
tion key assignment, time/date, read
registers and memory size, peek and
poke. Mature best-seller. Specify: S0770 &
Compiler. List: *185, Here: *139
GREENLEAFjfeiio World
COMMUNICATIONS
Want your application to communicate
with other users or remote date bases by
asynchronous communications built right
into your C programs! Even if you don’t need
it now, that's a skill to have at the ready!
120 functions and demo programs in
both C and assembler source code set up
separate transmit and receive ring buffers
for up to 16 simultaneous channels. In¬
terrupt driven so you can halt an incoming
record, display it, file it, let the user edit it,
then continue. Goodbye separate com¬
munications software.
Supports up to 9600 baud, ASCII or
binary, any parity or word length, 8250
UARTs, Xon/Xoff and Xmodem,
WideTrack receive. Specify: S0750 &
Compiler. List:*185, Us: *139
INTERACTIVE-C
Compiler-Compatible
Interpreter , Editor,
Debugger
E arlier C interpreters were miracu¬
lous compromises. Interactive-C
shows how far C interpreters have
come. More than an interpreter,
Interactive-C is a fully-integrated
development environment: a complete
K&R interpreter bound tightly to its
own editor and debugger.
Slice through programming projects
like a hot knife through butter. Exten¬
sive error-checking insures immediate
detection of program misbehavior.
State of the art debugging tools
include breakpoints, watch values, sev¬
eral stepping options and interactive
viewing and modification of variables.
An Interactive-C exclusive lets you
interrupt to edit and "continue'' from
where you left off. Eliminates plodding
replays of already debugged code—
the ball and chain of other interpreters.
Operate Interactive-C using adjust¬
able edit, command, and status win¬
dows. Toggle a second screen show¬
ing only your program’s output—
never any crowded intermixing. Or,
boost productivity with twin CRTs.
Load object code of functions you
have already compiled. Or of com¬
mercial libraries. Interactive-C has
immediate mode, syntax checking
both as you type and run, and cursor
positioning precisely pointing at an
error, not possible with incremental or
pseudo-compilers which leave source
code behind.
100% compiler compatible—right
down to header files and library calls.
Port programs between Interactive-C
and your compiler with no modifications
whatever — not even tricky areas of
dynamic memory allocation and I/O.
Specity: List: PC Brand:
E950 & Compiler *249 *219
T he Legendary One has created
Metaphor Two when the rest of us are
still on Zero. Dan’s first was the onginal
electronic spreadsheet (VisiCalc™). This
one is for programmers.
Words don't express program ideas
because programs are screens! Dan’s
Demo creates slide shows. Create a
screen — a snapshot of your planned pro¬
duct as it runs. Anything goes: words,
borders, box rules, inverse and underlining
of monochrome, fore- and background color.
Copy this “slide" to an empty screen.
Change it a little, to show the next instant of
mn-time. Do it again. Presto, a whole slide
show of your program in action.
All 250 characters and attributes are
available from scrollable lists which pop to
the screen. All commands are layered in
Lotus-style pop-up menus. Frequent
choices mapped to function keys as well.
80x25 character mode, not bit-mapped.
Screen areas can be blocked for cut and
paste or filled with color or characters,
even blink. Slides can overlay on others,
can be shuffled, deleted. Slides can pro¬
ceed at time intervals or branch anywhere
in the slide sequence depending on user
keyhits.
Invaluable to prototype the program you
are about to write, to position the labels,
choose the color decor, smoothe out the
keystroke interface. Or load the “capture”
utility and snapshot the screens of any run¬
ning program for an instant slide show.
Each copy entitles you to redistribute fifty
of the slide projector program that runs
demos. Plain manual, no binder keeps
price of big product small. “Might...
become the essential tool in.. .user inter¬
face prototyping," Tech Journal. Ask for:
N0100. List *75 US *69
BASTOC OPTIMIZES!
Translates BASIC Into C
F or a trifling price, BASTOC™ moves
truckloads of BASIC code over to C.
It’s a translator which takes in Microsoft
Extended BASIC and emits pure K&R C
for Lattice 3.0. It will optionally convert
your program into a single monolithic C
function or decompose it into separate
functions, one for each GOSUB label.
Version 2's optimization dramatically
reduces execution time. Converts to in¬
tegers those variables in BASIC programs
which do not need floating point. Where
BASIC uses full assignment statements to
increment counters, BASTOC converts to
C’s compact form. Strings dynamically
allocated nddmg your application of BASIC's
catatonic halts for garbage collection.
Creates-structure of even convoluted
BASIC code. Huge worksaver.
Ask for: List: PC Brand:
S0375 *495 *399
Shopping List for the Power Workbench
ASSEMBLERS & DEBUGGERS LIST US
Advanced Trace-86 Morgan, ASM Interpreter ... 175 119
Codesmith-86 Dubugger by Visual Age . 145 99
CSD Debugger C source level by Mark Williams 75 55
C-Sprite Debugger by Lattice, source level . 175 139
Microsoft Macro Assembler with Utilities . 150 109
PASM86 by Phoenix, Macro Assembler . 195 144
Periscope I Debugger Data Base Decisions .... 295 235
Periscope II Data Base Decisions . 129 99
Periscope I l-X soft ware only . 115 74
Pfix86 Plus Phoenix, Symbolic Debugger . . . 395 279
BASIC LANGUAGE
BetterBASIC Summit Software . 195 165
BetterBASIC Utilities 8087 Math Support . 99 85
Btrieve Interface . 99 85
Run-Time Module . 250 225
Microsoft BASIC Interpreter for XENIX . 350 295
Microsoft QuickBASIC Compiler full BASICA .. 99 79
Professional BASIC by Morgan . 99 69
True BASIC True BASIC Inc . 150 99
Run Time Module . 150 99
True BASIC Libraries Btrieve, Asyn, Sort, etc.. . . Var Call
C COMPILERS
C-86 Compiler Computer Innovations . 395 289
Lattice C Compiler from Lattice . .. 500 299
Let’s C Compiler by Mark Williams .. 75 55
with CSD Source Level Debugger . 150 105
MWC-86: Mark Williams C Development 495 369
Microsoft C Compiler 4.0 . 450 295
C INTERPRETERS
C-Terp by Gimpel Software . 300 249
Instant C by Rational Systerns . 500 395
Interactive-C by IMP ACC with debugging . 249 219
RUN/C Professional from Lifeboat . 250 185
RUNIC without Loadable Libraries . 120 109
TEXT EDITORS
Brief from Solution Systems . 195 Call
Edix by Emerging Tech...Multi-screen . 195 159
Epsilon by Lugaru Software, like EM ACS . 195 149
FirsTime by Spruce Technology, C syntax . 295 229
Kedit by Mansfield, similar to Xedit . 125 99
LSE, the Lattice Screen Editor Multi Window ... 125 100
Pmate by Phoenix, with Macros . 195 149
Text Management Utilities Grep, splat, diff, etc. 120 100
Vedit by Compuview . 150 99
Vedit Plus by Compuview . 185 129
FILE MANAGERS
Btrieve by Softcraft, no royalties . 250 195
Btrieve Network by Softcraft . 595 465
C-Tree by FairCom - no royalties, source . 395 329
R-Tr ee by FairCom-Report Generator . 295 245
C-Tree & R-Tree Combo by FairCom . 650 541
dBC dBASE file manager from Lattice . 250 195
with source . 500 390
dbVista single user DBMS by Raima . 195 139
with source . 495 399
dbVista multi-user DBMS . 495 399
with source . 990 815
Opt-Tech Sort Can sort Btrieve files . 149 105
SCREEN DESIGN
Curses by Lattice, UNIX screen designer . 125 99
with Source . 250 199
Greenleaf Data Windows. New . 225 169
with source . 395 297
source purchased later . 225 169
On-Line Help from Opt-Tech Data . 149 105
Panel by Roundhill, no royalties . 295 229
View Manager for C by Blaise . 275 189
Vitamin C by Creative Programming . 150 129
Windows for C Vermont Creative Software ....
Windows for Data includes Windows forC ....
ZView Data Management Consultants .
GRAPHICS
Essential Graphics by Essential, no royalties
GSS Graphics Development Toolkit.
GSS Kernel System by Graphic Software .
GSS Kernel System for IBM RT .
GSS Metafile Interpreter.
GSS Plotting System.
Halo by Media Cybernetics .
with Dr. Halo II .
Halo for Microsoft includes all fonts .
COMMUNICATIONS
Asynch Manager by Blaise, for C or Pascal ....
Greenleaf Communications by Greenleaf .
PTel by Phoenix, Binary File Communicator. . . .
Software Horizons Pack 3.
UTILITY LIBRARIES
Blaise C Tools Plus.
Blaise C Tools.
Blaise C Tools 2 .
C Food Smorgasbord by Lattice .
C Utility Library by Essential, 300 functions ....
Greenleaf Functions by Greenleaf Software . . .
PforCe by Phoenix, vast library .
Software Horizons Packages .
TopView Tool Basket by Lattice, source avail. . .
DEVELOPMENT TOOLS
Code Sifter by David Smith Software, Profiler
C-Worthy by Custom Design Software .
C-Worthy for Network Menus, help, errors .
Dan Bricklin’s Demo Program Prototyper .
LMKfrom Lattice by Lattice, “make” like UNIX .
Microsoft Window Development Toolkit.
PC-Lint by Gimpel Software, after UNIX's “lint”.
PFinish by Phoenix, EXE performance analyzer.
Plink86 Plus Utilizes memory for overlays .
Pmaker by Phoenix, like UNIX “make” .
Pre-C by Phoenix, UNIX “lint"-alike .
Pfantasy Pac six Phoenix products .
OTHER TOOLS
BASTOC by JMI, convert BASIC toC .
BASIC-C BASIC’s functions added toC .
The HAMMER by OES Systems .
Report Option by Softcraft, Btrieve Report Gen..
Xtrieve by Softcraft, Query Utility for Btrieve . . .
FORTRAN COMPILERS & UTILITIES
ACS Time Series by AIpha Computer Service. . .
Forlib- Plus by Alpha Computer Service .
Microsoft FORTRAN Links with Microsoft C . . .
Microsoft FORTRAN for XENIX .
RM/FORTRAN by Ryan McFarland .
Scientific Subroutine Package by Alpha .
The Statistician by Alpha Computer .
Strings & Things by Alpha Computer .
OTHER LANGUAGES & UTILITIES
Microsoft COBOL Compiler.
Microsoft COBOL Compiler for XENIX .
Microsoft COBOL Tools with Source Debugger.
Microsoft COBOL Tools for XENIX .
Microsoft Lisp New Common Lisp .
Microsoft MuMath includes Mu Simp .
Microsoft Pascal Compiler Links with M'soft C.
Microsoft Pascal Compiler for XENIX .
PDisk Phoenix’s new disk manager .
RM/COBOL by Ryan-McFarland .
RM/COBOL QXANSI85 COBOL .
Source Print Aldebaran’s diagrammer .
195
149
295
259
245
175
250
210
495
375
495
375
795
645
295
235
495
375
300
219
440
299
595
434
175
125
185
139
195
149
149
119
175
125
125
89
100
69
150
109
185
139
185
139
475
349
Var
Call
250
199
119
89
295
269
495
449
75
69
195
149
500
365
139
125
395
279
495
359
125
105
295
208
1295
895
495
399
175
139
195
139
145
128
245
220
495
405
70
45
350
219
695
546
595
Call
295
239
295
239
70
45
700
499
995
795
350
259
450
333
250
189
300
199
300
199
695
546
195
148
950
Call
1250
Call
139
109
PRICED TO SAVE YOU MONEY , »jf
SHIPPED FAST ANYWHERE.
KYRN-McFARLAND FORTRAN
A Mighty Fortress Is Their FORTRAN
NEW!
P icking over features of rival products
is not necessary if FORTRAN is your
need, still the citadel of scientific and
engineering work. Ryan-McFarland has
left the competition battering at the gates.
RM/FORTRAN™ is a complete im¬
plementation of FORTRAN-77 (ANSI
X3.9-1978), the only PC FORTRAN certified
by the General Services Administration at
the highest test level. The reason: it’s a
big mainframe compiler moved to PCs,
with the bonus that mainframe and mini
applications can wander between
RUN/C PRO
C Interpreter Links
Binary Libraries
R un/C comes in an apprentice and
pro version. The professional model
dynamically loads and unloads multiple
binary function libraries like C-Food
Smorgasbord™ and Halo Graphics™ —
potentially any library compiled with
Lattice’s large model. Inside this inter¬
preter your C program can reach for func¬
tions in the best of commercial libraries.
This C interpreter behaves like PC BASIC
meets WordStar® . Use fullscreen editing
to create a program. RUN it. If it stumbles,
LIST it, EDIT it, RUN it again, fix it again.
Use familiar commands like LOAD, MERGE,
SAVE, FILES, even TRON and TRACE.
Ideal for program development. Put up
code at high speed, try out things devil-
may care, let RUN/C find your malaprops.
Blast away until tight little code segments
are undyingly faithful.
Manual shows how to develop the inter¬
face to a commercial library, using the Lat¬
tice compiler (a must!). Link your own func¬
tion archive the same way. (320k minimum:
512k recommended to fit libraries.)
Ask for: S0950 List: *250 PCB: *185
ZVIEW
Screen Design Aid
A complete package for screen
design with full windows manage¬
ment as a bonus! Easy creation of
screens with complex validation, such
as range checking or required/option-
al data. Powerful Screen Paint utility
for creating or editing applications
screens. Built in security levels, set at
run-time, control read or read/write
access by field or screen. Automatic
help screen processing for run-time
aid per field or screen. Applications
regain control during field tabbing,
allowing run-time on-screen transaction
processing or flow control. Run-time
functions include Screen Read and
Write with automatic transparent data
conversion from screen image to data
storage, Field Editing, Help Screen
Processing, even a capability to
change any field characteristic at run¬
time, plus Window Push Pop and Scroll.
Versions for Lattice, Microsoft and
Aztec C. Automatic free updates to
registered users. No run-time royalties.
List: *245 PC Brand: *175
environments.
Now, on your PC, you can develop large
applications, with programs up to 640k
(bigger using overlays), arrays over 64k.
and using a long list of VS, VAX and
FORTRAN-66 extensions you may have
grown fond of — long symbolic names, “in¬
clude”, IRT bit functions — because R-M
has left out nothing.
But what really sets RM/FORTRAN
apart is optimization. The compiler
reduces the number of instructions to the
minimum which will actually execute, and
even takes advantage of each processor’s
features to deliver lightning-fast object
code. It runs 30%-40% faster than Microsoft
3.2, and could make your mainframe not
worth the trouble.
Comes with an interactive symbolic
debugger like that accompanying IBM VS
FORTRAN, Plink86 subset, has a cross
reference compile option, supports
assembler and C subroutine calls, IEEE
floating point, 8087 and 80287 chips.
“Compiler’s documentation, ease of us>
speed of execution, and debugger
facilities place it first for recommendation
said the Tech Journal (10/85).
R-M has been writing FORTRAN com¬
pilers for IBM, DEC, etc. for 20 years.
There is no greater expert.
Ask for: List: PC Brand:
10300 *595 Call
LATTICE C COMPILER
Major Upgrades to the Best Selling C Compiler
L attice now embraces key UNIX™
enhancements which have entered
the language since K&R: void functions
returning no value, enumerated data types
to assign stepped values to variables, data
passing between structures by assignment.
The greatly expanded libraries (325
functions!) enable the file sharing and
record locking provisions of DOS 3.1, pro¬
vide a full complement of transcendentals,
and a host of utilities to mimic the UNIX
and XENIX™ environments.
Lattice 3.0 defaults to the ANSI proposed
standard when you need strict adherence,
but command line options restore leniency.
And it adopts ANSI checking of external
function arguments by data type to kill bug
swarms when modules join up at link time.
Weshipany^lTards We need
card numder ^PJ w|re fun ds to PC
address of card^ al Ban k , 12b
BRAND c°Che 10028, Amount
GSS GRAPHICS SYSTEM
Leave the Device Driving to GSS
G SS™ has reconfigured two compo¬
nents of its comprehensive graphics
tools to conform with the ANSI Computer
Graphics Interface (CGI) standard.
At the heart of the system is the Develop¬
ment Toolkit which contains all language
interfaces and device drivers for key¬
boards, mice, joysticks, tablets, printers,
plotters, cameras, and more. Drivers house
management of vector graphics (plotters)
and bitmaps used by raster input devices
(scanners) to insulate the application pro¬
gram from concern for device ldiosyncracy.
No one else has implemented CGI that
way. It means your programming remains
generic: just switch drivers and the same
program will drive a different device.
GSS Kernel™ conforms to level 2b of
ANSI’s Graphical Kernel System (GKS) and
contains all its needed drivers and
language bindings. Kernel has macro level
tools to draw and color an object, store the
sequential instructions, and recreate the
object on its own, as well as segment it.
transform it, etc. So powerful, a single com¬
mand may represent several score lower
level statements.
Plotting has the equivalent GKS tools for
graph and chart generation and their cap¬
tioning: hand it apples and oranges, say
"pie", and it bakes the numbers into a
digestible display for screen or plotters.
Kernel and Plotting have tools to convert
images they create to ANSI Computer
Graphics Metafiles (CGMs), a tokemzed
standard for storing every form of graphic
image as data. The Metafile Interpreter
ANSI CGI STANDARD'.
PRICES CUT!
reads the contents of a CGM and inter¬
prets it with full CGI capability for re¬
creation on various devices.
Quality software 9 IBM thinks so. They sell
the GSS series under their own label.
Unit royalties and annual fees have been
Lattice now delivers smaller .EXE files,
boasts very fast link times and a more effi¬
cient aliasing algorithm. New options
generate code to use 80186 and 80286
features; 8087 of course sensed and util¬
ized. Lattice has enjoyed pre-eminence so
long that developers have created far
more snap^on tools for Lattice C than any
other compiler. William Hunt’s PC Tech
Journal review of 12 compilers awarded
Lattice the only “very good” rating for
add-on library availability.
Ask for: List: PC Brand:
S0100 *500 *299
BETTER BASIC
Convert Microsoft BASIC.
Structured, Compilable.
C ombines the familiarity of BASIC with
the best features of C, Pascal, and
Modula 2, yet BetterBASIC is 100% com¬
patible with Microsoft’s GW™ BASIC and
IBM BASICA including graphics, sound,
and assembly language calls. So load your
old programs and RUN. SAVE and they are
converted automatically to BetterBASIC!
It’s big: Needs 192k; programs can go to
i the PC’s full 640k. It’s comfy: Behaves like
M’soft BASIC at the interactive level, with a
full-screen editor, direct statement execu¬
tion, and always poised to RUN. It’s fast:
Each statement checked and compiled
once, not every time encountered. Sieve
runs 6 times faster than with M’soft.
C-like structures house file records so
goodbye to FIELD, MKI$, CVD, LSET, etc.
Named “procedures” replace GOSUBs to
lmenumbers. Lots more features: built-in
linker for compiled modules; trace; debug¬
ging breakpoints; cross-reference com¬
mand; 32k strings; DOS and BIOS calls and
instituted forredistnbution. Needs 256k.
interrupts; recursion. Run-time module
Ask for:
List:
PC Brand:
stores object code for redistribution.
GS010 CGI Dvlpmt Toolkit
*495
*375
Ask for::
List:
Us:
GS020 Kernel System
*495
*375
S1200 BetterBASIC
*195
*165
GS025 Kernel for IBM RT
*795
*645
S1201 Run-time Module
*250
*225
GS030 Plotting System
*495
*375
S1202 8087 Interface
* 99
* 85
GS040 Metafile Interpreter
*295
*235
S1205 Btrieve Interface
* 99
* 85
BTRIEVE ASK ABOUT XTRIEVE & RTRIEVE
Queen B-tree File Manager Abdicates Royalties
Can even extend a file across two drives —
even two hard disks!
Version 4.x speeds DOS interaction for
large multiply-keyed files: enables
variable length records of virtually any
length; verifies accuracy (optionally) with
read after write, useful in gritty en¬
vironments; offers password and data
encryption.
There’s also Xtrieve, for Btrieve file in¬
quiry and data manipulation, and Rtneve
for report writing. All three in versions for
any network that supports the MS-DOS 3.1
file sharing function.
Ask for: List; PC Brand:
S0650 *250 *195
S0652 Network Version *595 *465
T here’s no longer a tithe to incorporate
Btrieve™ in applications, a welcome
proclamation if royalties would rum your
profit margins. Btrieve takes complete
charge of all file creation, indexing,
readmg, writing, insertion, deletion, space
recapture, forward and backward search¬
ing. It builds function call “commands”
right into the language you use: interfaces
to C, Pascal, BASIC, and COBOL, with sam¬
ple programs in all four, come with each
copy.
Btrieve has mainframe specifications! Its
balanced-tree indexing scheme finds any
key in a million in four or less accesses.
Files may have up to 24 indexes; fixed
record length to 4090 characters; indexes
up to 255 characters; files of 4 billion bytes.
TERMS AND CONDITIONS OF SALE
Licenses: Each price is for a license to use a prod¬
uct on a single computer and does not constitute
its ownership. We will inquire for you about site
licenses. Except as otherwise indicated or where
"#" follows the Product Code, products may be
used to create programs for distribution without
royalty payments or additional licenses, provided
said programs do not substantially replicate the
products themselves.
Compatibility: PC BRAND’S standard products
are designed to operate with the IBM’ 1 " PC. XT or AT
under PC-DOS and require no more than 128k of
RAM unless indicated. Non IBM machines using
MS-DOS: contact manufacturer about precise dif¬
ferences so we can advise.
Returns: See box page one. Defective parts will be
replaced. Please call for authorization to return a
product for refund.
Payment: We honor MasterCard. Visa, American
Express (no surcharge), checks in advance, or
funds wired to PC Brand, c/o Chemical Bank. 126
East 86 St., New York, Account 034-016058 COD
(U.S. only) for cash, money order, certified check
(no fee). NY State, add sales tax. Purchase orders
accepted from larger corporations and institutions
at our discretion if you agree to net 30 days plus 2%
a month late penalty thereafter.
Shipping & Handling: U.S UPS Surface 1st
product $6. each add’l $3. UPS 2nd Day Air 1st
product $10. each add’l $4.50. UPS Next Day Air or
Federal Express 1-2 Day Air: 1st product $18. each
add’l $6 FedEx Next Day 10 AM: 1st product $28.
each add’l $7 International: Charges vary by
destination and carrier. $10 per shipping container
for export forms. Air parcel post at your risk beyond
collected insurable amount.
For Orders, Literature, or Catalogs, Call Us at...
800 PC-BRAND
That’s (800) 722-7263. In NY State call (212) 242-3600
PC Brand, 150 5th Ave„ New York, N.Y. 10011-4311
Telex: 667962 (SOFT COMM NYK)
c 1986 PC BRAND
Prices, terms, and specifications subject to change without notice.
Unreliability mars what otherwise would
be an excellent value offered by the
12-MHz AT compatible from PCs Limited.
The test machine included the stan¬
dard items, plus a 40MB Tandon hard
disk, a 360KB diskette drive, the PC’s
Limited EGAds! graphics adapter, and a
Princeton Graphics Systems HX-12E en¬
hanced color monitor. The total price
for this configuration when purchased
from PC’s Limited is $4,447—more than
the advertised price, hut still a good
buy if the equipment works as adver¬
tised, Photo 1 shows the entire system.
(PC’s Limited now offers a package
price for two configurations of the
286 12 . The system unit with 1.2MB
diskette drive, 30MB hard-disk drive,
one parallel and two serial ports,
EGAds! card, and 12-inch enhanced
diskette/hard-disk controller, and a key¬
board. Some of the advertisements also
claimed that the machine is equipped
with two serial ports and one parallel
port, but those items were not present
on the machine tested for this article
and the manual treats them as options.
Other components not included in the
base machine are a hard disk, monitor,
and display adapter (see sidebar).
Neither DOS nor BASIC is supplied
with the 286 12 . Either PC- or MS-DOS
(versions 2.0 or later) can be used, but
PC’s Limited advises using PC-DOS 3.1
or MS-DOS 3.11 or later. Version 3-2
(packaged with GW-BASIC) is available
at extra cost from the company.
tWi be combination of massive adver-
I tising, a money-back guarantee,
JL and rock-bottom prices has
brought PC’s Limited into the limelight
of the mail-order computer business. At
center stage in most of the company’s
advertisements is the PC’s Limited 286 J2 ,
a PC/AT compatible that promises an al¬
most unheard-of 12-MHz performance
at a price thousands of dollars below
that of IBM’s original AT.
At the time this article was written,
advertisements for the 286 12 proclaimed
the price to be $2,695 for a package
that includes the system unit with 1MB
of RAM on the system board, a single
1.2MB diskette drive, a combination
PCS LIMITED
PHOTO 3 l SmartYl Disp
Photo 1: The PC’s Limited machine comes standard with
1MB of RAM on the system board, a single 1.2MB diskette
drive, and a combination diskette/hard-disk controller.
Photo 2: The PC’s Limited system unit, which measures
18.75 by 16.5 by 6.5 inches, is 25 percent smaller than the
AT’s. The dotted lines indicate the size of the 286 12 .
Photo J: The SmartVU LED display panel provides several
useful diagnostic functions on the 286 12 , including the cur¬
rent track that is being read on the disk.
Photo 4: The PC’s Limited keyboard layout (top) is similar
to the original AT, but it provides little tactile feedback. The
position of the Esc and tilde ( ~) keys can be swapped.
Photo 5: The 80286 and 80287 sockets are located for easy
access inside the system unit. The support brace on the left
must be removed before access to slot 8 is possible.
%
PC TECH JOURNAL
graphics color monitor is priced at
$3,595. The same package except with a
40MB hard-disk drive is $3,695.)
Because of its price tag, questions
about the quality of the 286 12 naturally
arise. Even with the low price, is the
computer really a wise investment? Is it
well engineered, or will it spend most
of its time traveling to and from PCs
Limited headquarters in Austin, Texas,
for repairs? When it is first pulled from
the box, the 286 12 exudes quality. The
cabinet looks and feels like an IBM
product, and the SmartVU panel on the
front of the unit adds a high-tech flavor.
Unfortunately, the computer tested for
this article did not live up to its good-
looking package or its advance billing.
Before testing could even begin,
the unit had to be returned to PC’s Lim¬
ited three times for repairs. The Smart¬
VU panel (the diagnostic read-out on
the front of the system unit) failed
twice, once accompanied by the unmis¬
takable odor of burning insulation. A
third problem involved the diskette/
hard-disk controller, which failed to ac¬
cess the hard disk properly at 12 MHz.
Until the controller was replaced, it de¬
stroyed files, crashed the system, and
eventually did so much damage that the
hard disk had to be reformatted.
After the unit was returned from
PC’s Limited for the third time, it devel¬
oped another problem that prevented
the warm reboot (Ctrl-Alt-Del) from
working. Although the system booted
when it was turned on, it ceased oper¬
ating when a warm reboot was per¬
formed, and the following message ap¬
peared in 40-column mode on the
screen: “Error 8259 #1 101 System
Halted.” Aside from this initial problem,
though, the 286 12 worked almost flaw¬
lessly for the rest of the test period.
SMALL FOOTPRINT
From the outside, the system unit looks
like an AT, except narrower. At 18.75
inches by 16.5 inches by 6.5 inches, it is
actually 25 percent smaller than the AT.
Photo 2 compares the footprint of the
PC’s Limited 286 12 with that of the AT.
The only apparent penalty imposed
by the reduced footprint is in drive
space: the 286 12 ’s single storage bay is
capable of holding only three half¬
height drives, whereas the AT’s two
storage bays can handle two half-height
diskette drives and two full-height hard
disks. The 1.2MB diskette drive is nor¬
mally mounted in the 286 12 ’s top bay. In
the unit tested for this article, the mid¬
dle bay contained a 360KB diskette
drive, and the bottom bay contained a
40MB hard disk. This arrangement is
not the only one possible. The diskette/
hard-disk controller has cables for two
diskette drives and two hard disks, so a
second hard disk could be substituted
for the second diskette drive without
having to purchase another controller
or extra cables.
One minor annoyance is that the
1.2MB diskette drive and the 360KB
drive look identical when viewed from
the front. Some companies place a large
asterisk on the front of one drive to dis¬
tinguish it; other companies provide ac¬
cess lights of different colors. Neither
method is used on the 286 12 .
Its small footprint notwithstanding,
the 286 12 manages to house a full
complement of eight expansion slots
(two 8-bit slots and six 16-bit slots) and
1MB of RAM on its system board.
The front panel of the 286 12 system
unit includes a key-lock switch, a flex¬
ible set of indicators, and the SmartVU
panel, as shown in photo 3. The key
lock is a miniature version of the AT’s
key lock and provides the same func¬
tions. Situated next to the key lock are a
hard-disk access light and another indi¬
cator light, the function of which can be
selected with a switch on the system
board. In one setting, this light is sim¬
ply a power indicator that is lit when
power is on. In the other setting, the
light indicates processor speed (off for
6,MHz, on for 12 MHz). Because the de¬
fault operating speed is 6 MHz, most us¬
ers will choose the latter setting, thus
creating a visual reminder to switch to
12 MHz after booting.
Next to the indicator lights is the
SmartVU diagnostic panel, the trouble¬
some component that had to be re¬
placed twice in the test unit. When it
does work, SmartVU provides valuable
feedback about system operations. The
panel consists of two separate displays:
a four-character alphanumeric LED dis¬
play and a DIP consisting of a row of
eight LED bars (see photo 3).
The alphanumeric display has four
primary functions. First, it lists the
names of the power-on routines during
the boot process and displays error
messages. On a machine that is operat¬
ing properly, the names of the power-
on routines (such as RAMI, RAM2, Optr,
KB33, VMem, Inti, and Int2) flash by
too quickly to be seen. If a problem
develops, the name of the current test
remains on the screen for a moment,
then an error message appears. In the
case of the test machine, whenever a
warm reboot was performed the display
stopped at the test Int2. Then the mes¬
sage “Error 8259 #1 101” appeared
on the screen and also scrolled across
the SmartVU display.
The second function of the alpha¬
numeric panel is to display the proces¬
sor speed whenever it changes. Pressing
Ctrl-Alt-\ toggles the processor be¬
tween 6 and 12 MHz; then the com¬
puter beeps and the alphanumeric dis¬
play lists the new processor speed.
The third panel function should es¬
pecially please those users who are ada¬
mant about having access lights on their
disk drives. Whenever a drive is ac¬
cessed, the panel displays the drive let¬
ter, followed by the two least significant
digits of the sector that is being ac¬
cessed. This can be helpful while de¬
bugging programs, if only to give hints
about whether a program is accessing
the drives at the expected times. The
sector numbers do not provide much
explicit information, but they do make
it easier to estimate the amount of data
being accessed. With large amounts of
data, the numbers fly by; when quick
accesses are performed, only a short
burst of sector numbers appears.
The fourth function of the alpha¬
numeric panel is to display error mes-
PC’S LIMITED 286 12 VITAL STATISTICS
PC’s Limited 286 12 : % 2,695
1MB memory
Realtime clock
1.2MB diskette drive
Memory capacity on system board
1MB
Display adapters
None provided
Expansion slots
16-bit: 6
8-bit: 2
Available slots
(after adding display adapter and
serial/parallel card)
16-bit: 5
8-bit: 0
Options available
Monochrome display adapter $ 159
EGAds! adapter $ 269
Serial/parallel card $ 199
12-inch enhanced graphics
color monitor $ 479
30MB hard disk $ 699
40MB hard disk $ 819
FEBRUARY 1987
97
THE BAD NEWS
ISNTTHE PRICE
Okay, you could have saved thousands
with Ability™ the $99 integrated program
that does everything your armload of
programs does.
But maybe even more importandy you
could have saved tons of time and hassle.
Because we’ve combined six high-
powered PC productivity tools into a
single, simple package.
You get full-featured wordprocessing
with no exotic codes to learn, and what-
you-see-is-what-you-get formatting.
Spreadsheets larger than Symphony,
with all the powerful math and business
functions you need and the ability to
import Lotus 1-2-3 files (and formulas
where possible).
A forms-oriented database that’s easier to use
than pfs:file.
Professional business graphics from your spread¬
sheets and databases with just a few keystrokes.
Ability: $99.
Menu-driven,
Migent Pocket
Modem™ and
Hayes-compatible
communications.
Even “slide
shows” with sound
on your PC!
And smooth,
seamless
integration
like nothing
you’ve ever
seen before.
Because with Ability the table and graph you see in
the letter aren’t just copies pasted in—they’re live.
So if you change the table in the letter, the
changes are made in the linked spreadsheet or
database that contains the underlying data. Or
change the spreadsheet and the letter is updated
at the same time. And the graph is automatically
redrawn to reflect the changes, either way (Perfect
for those weekly and monthly reports.)
And anybody can do it with no programming
at all, because Ability is menu-driven and uses the
same instructions in all six applications.
At just $99, Ability could even pay for your PC
if you don’t already have one.
Check it out at your local computer store
or contact: Migent, Inc., PO. Box 6062,
Incline Village,
NV 89450. yM|/l=MT
(702)832-3700. MW IIW— V\ I
©Migent, Inc. 1986 Ability and Pocket Modem are trademarks of Migent, Inc.
Other names and products trademarked by others.
CIRCLE NO. 154 ON READER SERVICE CARD
PCS LIMITED
TABLE 1: SmartVU Display Panel Error Messages
MESSAGE
DESCRIPTION
Er02
80286 failure
Er03
Multiple RAM errors in the first 64KB
Er04
Video RAM failure
. Er05
ROM checksum error
Er06
Parity error status bit cannot be reset
Er07
8254 timer failure
Er08
Programmable array logic or RAM refresh failure
Er09
8742-controlled Gate A20 not operating well in
virtual-86 mode
ErlO
Virtual-86 mode exception error, extended memory
failure, or 8742 failure
Erll
The 14-MHz crystal is shorted or inoperable
Battery Low
The battery powering the realtime clock is low
The SmartVU LED display panel, when it works, provides a list of error messages to
help pinpoint system errors, including a low battery for the realtime clock.
sages during system operation. These
messages can indicate a CPU failure, a
memory problem, or even a low-battery
indicator for the realtime clock. Table 1
lists the error messages.
The second display of the SmartVU
panel consists of an array of eight LEDs.
Once the system has been booted, a
light flashes back and forth across this
eight-element display, indicating that
the system is operational. The individ¬
ual lights are related to timer interrupts.
When an interrupt occurs, the LED cur¬
rently on is switched off and the next
one in sequence is switched on. If the
lights stop flashing, it is an indication
that the CPU has halted for some reason
or that interrupts have been disabled.
This display is useful in determining
whether a program has really crashed
or is just taking a long time for compu¬
tation. The lights can be disabled if the
flashing becomes too distracting.
The Princeton Graphics Systems
HX-12E monitor and the PC’s Limited
EGAds! adapter that were included in
the test unit provide features similar to
IBM’s Enhanced Graphics Adapter
(EGA) and Enhanced Color Display. Al¬
though a full test of the EGA’s compati¬
bility was not performed for this article,
the EGAds! card exhibited no trouble
handling software that uses the EGA’s
special video modes (such as Microsoft
Word and Windows). The EGAds! card
is a three-quarter length, sparsely popu¬
lated card that contains the Chips and
Technologies (C&T) EGA chip set. (For
a review of the EGAds! card, see “The
EGA Spectrum, Part 1,” John T. Cocker-
ham, October 1986, p. 80.)
As might be expected from an
inexpensive compatible, the 286 12 ’s key¬
board is a lightweight model that pro¬
vides little tactile feedback, although the
F and J keys do have ridges to help
keep fingers positioned properly on the
home row. Manufactured by the Maxi-
Switch Company, the keyboard features
a layout that is virtually identical to that
of the original IBM AT. Photo 4 com¬
pares the two keyboards.
One interesting note about the key¬
board is that it can be used on both AT-
and PC/XT-compatible computers. A
switch on the underside of the key¬
board sets the mode; another switch
lets users swap locations of the Esc and
tilde ( ~) keys to place the Esc key back
in its original, top-left location.
OPERATING AT 12 MHz
The 286 12 comes with 1MB of RAM on
the system board, rated for 100-nano¬
second (ns) access time so that it will
work properly with a 12-MHz 80286.
The system board is extremely flexible
in its method of RAM allocation be¬
tween conventional and extended mem¬
ory. The default configuration is 640KB
of conventional and 384KB of extended
memory; it also can be divided into
512KB for both types of memory, or
only conventional memory can be as¬
signed. This option is useful when bad
memory chips are suspected, because
the user can exchange memory chips
from the unused extended memory to
replace the bad chips.
Unfortunately, the manual for the
286 12 mentions only the 512KB/512KB
option, even though the switches are
set at the factory for 640KB/384KB. Fur¬
thermore, the manual warns that when
the 640KB option is chosen, the remain¬
ing memory cannot be accessed, but
the factory-selected 640KB/384KB op¬
tion does permit use of the additional
384KB as extended memory.
The 286 12 ’s 12-MHz operation is a
performance bonus. The default 6-MHz
operation permits speed-sensitive pro¬
grams, such as games and copy-pro¬
tected software, to run without diffi¬
culty. At any time, however, the user
can toggle to 12 MHz by using the Ctrl-
Alt-\ key combination. PC’s Limited
does not provide a way to set the pro¬
cessor speed through programming.
One side effect of the 12-MHz op¬
eration can be good or bad, depending
on the expansion cards running in the
computer. When the CPU is switched
into 12-MHz mode, the expansion bus
runs at 12 MHz as well. This is ideal for
cards that can handle the smaller bus
cycles, but many popular expansion
cards, such as the Intel Above Board
and the Cheetah memory card do not
function at that speed; in that case, the
entire computer, including the CPU,
must be switched back to 6-MHz mode.
The 286 12 contains an option menu,
including the entire set-up program, in
ROM; it is activated by pressing Ctr 1-Alt-
Enter. The menu options are listed as
they appear on the screen:
• Configure hardware
• Disable RAM parity
• Enable RAM parity
• SmartVU scan off
• SmartVU scan on
• Park fixed disk heads
• List SmartVU diagnostic summary
• Resume program
• Restart system
This menu provides access to the set-up
utility for specifying the number and
type of disks, the amount of memory
available, the type of display adapter
used, and the presence or absence of a
numeric coprocessor. The option menu
also lets users disable or enable RAM
parity or SmartVU’s array of lights, park
the heads on the hard disk, and list the
SmartVU error codes.
Because the entire option program
resides in ROM, it can be accessed and
the options changed—even when an ap¬
plication program is running. However,
accessing the option menu while run¬
ning other application programs is not
recommended. If the user accesses the
set-up portion of the program—for ex¬
ample, to view the current settings—
then the only way to leave the program
is to reboot the computer. Of course,
rebooting means that any data not saved
before the option menu was activated
will be lost.
Even if the user wishes to switch
off the SmartVU panel or to look at a
FEBRUARY 1987
99
PC’S LIMITED
list of the error messages, the option
menu still should not be invoked from
within application programs. Although
the program can be resumed, the pre¬
vious screen is not restored.
INSTALLING HARDWARE
Installing hardware in the 286 12 is for
the most part easy. The metal cover of
the system unit is fastened with three
easily accessible screws on the rear
panel. A medium-sized Phillips screw¬
driver can be used to remove them, as
well as any other screws in the system
unit. The cover, which wraps around
like the ATs cover, slides forward and
tilts up and off.
One difficulty arises if any one of
the drives installed by PC’s Limited
needs to be removed. These drives are
fastened to the storage bay by two
screws, one on each side of the bay. Re¬
moving the screw next to the outside
edge of the computer is easy, but the
screw on the side next to the expansion
cards poses a problem; it requires ei¬
ther a very short screwdriver or the re¬
moval of the disk adapter card from the
slot adjacent to the bay.
Adding and removing expansion
cards is as easy in this machine as in
the AT, with the exception of slot 8 (the
slot next to the edge of the system
unit). Directly above this slot is a sup¬
port brace that must be removed in
order to gain access to the slot. Photo 5
shows the inside of the system unit with
this support brace visible.
The 286 12 does not include plastic
card guides to steady and align the ex¬
pansion cards when they are inserted.
Because most expansion boards come
with a card guide, however, this lack
should not prove to be a problem.
Other areas of the system unit are
easily accessible. The 80286 and 80287
sockets are placed so that neither the
power supply nor any drive needs to be
removed to gain access to the chips.
The 80286 is in a leadless chip carrier
(LCC) socket with an AMP-type socket
cover. The socket cover can be tricky to
remove, but it is manageable. When the
socket cover is removed, the label on
the underside of the chip verifies that
the processor is rated at 12 MHz.
The system board’s switch settings
are labeled on the board next to the
switch—a nice touch that enables the
switches to be set without using the
manual. This label includes the relevant
switch settings for the amount of mem¬
ory that is installed. The switches for
the 80287 socket are similarly labeled.
As photo 5 also shows, the system
board of the 286 12 contains six 16-bit
and two 8-bit expansion slots, even
though the 286 12 ’s board is considerably
smaller than that of the AT. The disk ad¬
apter normally resides in the 16-bit slot
next to the power supply. In the test
unit, the EGAds! adapter was placed in
one of the 8-bit slots. If serial and paral¬
lel ports are desired, another expansion
slot is required for their use. Therefore,
five slots are actually available for op¬
tional expansion cards.
The four C&T components used on
the system board are one reason the
board can contain a full complement of
expansion slots and still fit in a small¬
sized chassis. These custom compo¬
nents provide the same services that are
normally provided by many general-
purpose components; thus, they take up
less area on the board.
The 286 12 ’s half-height, 40MB Tan-
don hard disk had a slightly better per¬
formance rating than that of the AT. The
average access time for the Tandon
Tibe system board of the
286 12 contains the full eight
expansion slots (six 16-bit
and two 8-bit) even though
the board is considerably
smaller than that of the AT.
drive was 34.1 milliseconds (ms). Be¬
cause DOS cannot manage disks larger
than 32MB, PC’s Limited provides a de¬
vice driver called SPLIT_1.SYS that
splits the disk into two logical drives, C:
and D:, enabling the entire disk to be
accessible. Of course, for this device
driver to work, FDISK must be used to
set up two DOS partitions on the drive.
This operation is normally performed
by PC’s Limited before shipping the
drive. The tested drive was set up for
32MB in drive C: and 8MB in drive D:.
The 286 12 supports IBM drive types
1 through 13 for users who would like
to add their own drives. The disk drive
housing does not look as if it would
cause any problems with the installation
of third-party, half-height drives, and the
standard mounting kits supplied with
such drives should be adequate. Full-
height drives also will fit, but different
mounting hardware may be necessary
in order to install them.
The power supply, manufactured
by Fortron, is rated at 192 watts. Typical
power consumption at 110 volts is 27
watts with a 1.2MB diskette drive, a
360KB diskette drive, and a 40MB hard
disk installed in the system unit.
TESTING 1, 2, 3
Like the other computers reviewed in
this series, the 286 12 underwent two
kinds of tests. First, a set of commonly
used hardware and software products
was installed to check for compatibility.
Then the PC Tech Journal AT Evalua¬
tion Suite of compatibility and perfor¬
mance tests was run, and the results
were compared with an 8-MHz AT.
The add-on hardware products in¬
stalled in the PC’s Limited 286 12 for
these tests included an 80287 numeric
coprocessor, the Intel Above Board AT
with 4MB of memory, a Cheetah zero-
wait-state RAM card, the PC’s Limited
EGAds! card, Microsoft serial and bus
mice, an IBM game adapter, and the
Hayes Smartmodem 1200B. An IBM par¬
allel/serial adapter also was added for
use with the serial mouse and to check
whether or not the software products
tested could access these ports.
The software products that were
used included Microsoft Windows and
Word (to test graphics capabilities and
the mice); SuperKey, SideKick, and
Turbo Lightning, all from Borland Inter¬
national (to test memory-resident pro¬
grams); Ready! from Living Videotext
and Intel QUIKMEM (to test expanded
memory); Hayes Smartcom II (to test
the communications port); IBM VDISK
(to check extended memory); Fastback
from Fifth Generation Systems (to
check direct memory access); and the
IBM SETUP and Advanced Diagnostics
programs (to perform a general check¬
up on the PC’s Limited system).
A major hardware problem oc¬
curred when the computer was set to
run at 12 MHz. At that setting, neither
the Above Board nor the Cheetah mem¬
ory card would function reliably. The
Above Board’s diagnostic program
(TESTAB) reported that two complete
banks of memory were bad. These
problems occurred because at the 12-
MHz setting, both the processor and the
expansion bus run at 12 MHz. Neither
the Above Board nor the Cheetah card
is rated for use at that speed. If either
one of these cards is to be used, the
286 12 must be set to run at 6 MHz.
All of the software products tested
worked properly, even at 12 MHz. Soft¬
ware that depended on the expanded
memory in the Above Board was tested
only at 6 MHz. Even the IBM AT Ad¬
vanced Diagnostics ran at the 12-MHz
speed without detecting an error.
100
PC TECH JOURNAL
PCS LIMITED
TABLE 2: Results of Compatibility and Performance Tests
8-MHz AT,
30MB DISK"
PC’s LIMITED 286 12 ,
40MB DISK (at 12 MHz)
ATBIOS
ROM BIOS date
11/15/85
06/14/86
ATPERF
Average RAM
.403 (100)*
.262 (153)
instruction fetch (|xs)
Average RAM read time (jxs)
BYTE
.401 (100)
.262 (153)
WORD
.401 (100)
.262 (153)
Average RAM write time (|xs)
BYTE
.401 (100)
.262 (153)
WORD
.401 (100)
.262 (153)
Average ROM read time (jxs)
BYTE
.401 (100)
.262 (153)
WORD
.401 (100)
.262 (153)
Average video write time (|xs)
(CGA only)
BYTE
1.208 (100)
1.210 (100)
WORD
2.415 (100)
2.410 (100)
Average EMM read time (jxs)
BYTE
.402 (100)
.262 (153)
WORD
.402(100)
.262 (153)
Average EMM write time (|xs)
BYTE
.402 (100)
.262 (153)
WORD
.402 (100)
.262 (153)
CPU clock rate (MHz)
00
o
o
o
12.0 (150)
Math coprocessor clock rate (MHz)
5.3 (100)
8.0 (150)
Refresh overhead (96)
7.1
4.6
RAM read wait states
1
1
RAM write wait states
1
1
ROM read wait states
1
1
Video write wait states (CGA)
8
12
EMM read wait states
1
1
EMM write wait states
1
1
ATFLOAT
Performance as percentage
100
150
relative to AT
ATDISK
Sectors/track
17
17
Heads
5
5
Cylinders
731
975
Total space (million bytes)
31.81
42.4
Track-track seek time (ms)
6.0
5.4
Average seek time (ms)
37.1
34.1
Effective transfer rate (KB/sec)
170.1
169.9
DOS File I/O (sec)
7.3
7.1
Interleave
3
3
a The figures for the IBM AT are the average results from several machines, whereas the results from
the PCs Limited 286 12 are taken only from the review sample model.
b Figures shown in parentheses represent the relative performance expressed as a percentage compared
to PC Tech Journal’s baseline machine, the 8-MHz, 30MB AT.
The expanded memory manager (EMM) measurements are shown in this table,
even though the Intel Above Board did not work reliably at 12 MHz. The ATBIOS
results did not provide the manufacturer of the BIOS in this case. The bus is run¬
ning at the 12-MHz speed of the processor itself when in the faster mode.
After all the add-on hardware and
software products were tested, the PC
Tech Journal AT compatibility and per¬
formance tests were run. These tests
perform the following functions:
ATBIOS checks the BIOS and BIOS data
area; ATKEY checks for keyboard com¬
patibility; ATPERF measures CPU and
numeric coprocessor clock rates as well
as memory access times; ATFLOAT
measures floating-point operations with
the numeric coprocessor installed; and
ATDISK measures hard-disk perform¬
ance. (See “Out from the Shadow of
IBM..Steven Armbrust, Ted Forger-
on, and Paul Pierce, August 1986, p. 52,
for a more detailed description of these
programs.) All of these tests were run
with the 286 12 at its 12-MHz speed set¬
ting. Table 2 lists the results.
ATBIOS showed that the 286 12 uses
the data area in the same way that the
AT does. The area normally used for
the copyright statement merely stated
that the machine was IBM compatible;
as a result, the designer of the BIOS
could not be identified.
ATPERF indicated that the proces¬
sor, numeric coprocessor, and the
expansion bus all were running at a
higher speed than in the 8-MHz AT. The
80286 does indeed run at 12 MHz, and
the 80287 runs at 8 MHz. The numbers
for the Intel expanded memory man¬
ager (EMM) read and write times show
that access to the expansion bus is also
at 12 MHz. The EMM measurements are
included in table 2 even though the
Above Board does not work reliably at
the 12-MHz speed.
ATFLOAT also showed that floating¬
point operations were performed faster
with the 286 12 .
ATKEY verified that the keyboard
was compatible with the AT keyboard.
In fact, the IBM AT keyboard worked
when plugged into the 286 12 .
ATDISK determined that the Tan-
don hard disk slightly exceeded the
performance of the AT hard disk. With
an interleave of 3, the effective transfer
rate was almost identical to the AT.
CONFUSING DOCUMENTATION
The owner’s manual for the 286 12 pro¬
vides the minimum amount of informa¬
tion necessary to operate the 286 12 , but
just barely. Although it claims not to
speak “computerese,” the manual de¬
fines only a few of the terms it uses. Its
major error is in failing to mention the
option that divides memory into 640KB
of conventional memory and 384KB of
extended memory. This omission, along
with warnings about the 640KB setting,
might lead the user to believe that the
FEBRUARY 1987
101
ISN’T IT A PITY...
Everything Isn’t As
Accommodating As
TM TM
c-tree / r-tree
FILE HANDLER
Performance and Portability
For all the time you devote to developing
your new programs, doesn't it make sense to
insure they perform like lightning and can be
ported with ease?
c-tree: Multi-Key ISAM Functions
For Single User, Network, & Multi
Tasking Systems
Based on the most advanced B+ Tree routines
available today, c-tree gives you un¬
matched keyed file accessing performance and
complete C Source Code. Thousands of profes¬
sional C programmers are already enjoying
c-tree s royalty-free benefits, outstanding
performance, and unparalleled portability.
Only FairOom provides single and multi-user
capabilities in one source code package,
including locking routines for Unix, Xenix, and
DOS 3.1., for one low price! In addition,
c-tree supports fixed and variable record
length data files; fixed and variable length key
values with key compression; multiple indices
in a single index file; and automatic sharing of
file descriptors.
r-tree: Multi-File Report Generator
r-tree builds on the power of c-tree
to provide sophisticated, multi-line reports.
Information spanning multiple files may be
used for display purposes or to direct record
selection. You can develop new reports or
change existing reports without programming
or recompiling and can use any text editor to
REPORT GENERATOR
create or modify r-tree report scripts
including the complete report layout. At your
option, end users may even modify the report
scripts you provide.
Unlimited Virtual Fields; Automatic File
Traversal
r-tree report scripts can define any number
of virtual fields based on complex computational
expressions involving application defined data
objects and other virtual fields. In addition,
r-tree automatically computes values
based on the MAX, MIN, SUM, FRQ, or AVG of
values spread over multiple records, r-tree
even lets you nest these computational func¬
tions, causing files from different logical levels
to be automatically traversed.
Unlike other report generators, r-tree allows
you to distribute executable code capable of
producing new reports or changing existing
reports without royalty payments, provided the
code is tied to an application. Your complete
source code also includes the report script
interpreter and compiler.
How To Order
Put FairOom leadership in programmers utilities
to work for you. Order c-tree today for
$395 or r-tree for $295. (When ordered
together, r-tree is only $255). For VISA,
MasterCard and C.O.D. orders, call 314/445-
6833. For c-tree benchmark comparisons,
write FairOom, 2606 Johnson Drive, Columbia,
MO 65203.
ft Complete C Source Code & No Royalties!
Xenix is a registered trademark of Microsoft Corp. Unix is a registered trademark of AT&T.
CIRCLE NO. 119 ON READER SERVICE CARD
PCS LIMITED
extended memory in the computer is
not an option.
The manual does not include an
index—a definite disadvantage. It is
spiral-bound, so it lies flat when in use.
No technical reference manual is avail¬
able for the 286 12 , and because no soft¬
ware is shipped with the machine, no
manuals describing DOS or BASIC are
included either.
PCs Limited offers an excellent
warranty and service plan, and judging
from the test machine’s performance,
many users will need to take advantage
of it. A 30-day, money-back guarantee
and a one-year warranty are offered by
PC’s Limited; it offers a toll-free support
line, which is staffed by courteous,
knowledgeable people. Users also can
contact PC’s Limited via Telex, facsimile
machine, or MCI Mail.
RELIABLE BARGAIN?
The PC’s Limited 286 12 , if it works, of¬
fers a good value for the price, but if
the unit tested is any indication, the ma¬
chine has significant reliability prob¬
lems. Contacting PC’s Limited and send¬
ing the computer back was never a
problem. The support staff was always
eager to help. However, users who can¬
not afford any down time might be¬
come frustrated by the necessity to help
PC’s Limited do the testing and evalua¬
tion that should have been performed
earlier by the company itself.
In addition, because the 286 12 runs
both the processor and the expansion
bus at 12 MHz, this fast mode might not
work with many of the expansion cards
currently in use. In order to use such
hardware, the computer must be run at
the slower 6-MHz setting, and at 6 MHz,
the 286 12 is hardly a bargain.
To its advantage, the 286 12 was able
to run every software package that was
tested, even at 12 MHz. Once PC’s
Limited learns how to build reliability
into this computer, the 286 12 will be an
excellent buy, especially for users who
do not have old expansion cards that
they must use. I*" 1111 BSI
286 12
PCs Limited
1611 Headway Circle, Building 3
Austin, TX 78754
800/426-5150; in Texas, 800/252-8336
CIRCLE 347 ON READER SERVICE CARD
Steven Armbrust is a freelance technical
writer, and Ted Forgeron is software project
manager for Intel Scientific Computers. To¬
gether, they are the authors of the Program¬
mer’s Reference Manual for IBM Personal
Computers (Dow-Jones Irwin, 1986).
102
PC TECH JOURNAL
LOTUS 1-2-3 1 TO
DOT MATRIX PRINTER
PCs TO SERIAL DEVICES
PCs TO MODEM
PCs'
1C) MAINFRA)
PC APPLICATION TO
MULTIPLE PERIPHERALS
NOW—SOFTWARE AUTOMATED
PERIPHERAL SHARING.
Introducing Crosspoint 8
—the first data switch that
links any combination of
peripherals and PCs up to 8
by software control. PC offices
can access RS232c serial devices
for about $100 per port—a lot
less than duplicating peripherals
for each PC.
Crosspoint 8 means
greater productivity with
fewer peripherals, and
more output from each.
Set programs to run
automatically on your
choice of peripheral:
Assign Lotus 1-2-3 to a dot
matrix printer; Auto CAD™
to a plotter; WordStar to a
laser printer; communi¬
cations to a modem. Use
Crosspoint 8 for multi¬
tasking programs like
Microsoft Windows.™ Each
user can store up to 16
application configurations.
The Crosspoint 8 package
includes all necessary hard¬
ware to interface PCs and
peripherals—like easy-to-
connect data phone jacks
and cable. Compatible with
IBM and other PCs, it allows file
transfer, LAN, and simultaneous
user access. Add peripherals or
change output in a flash with pop¬
up menus, or automate your ap¬
plications with batch file execution.
Link to a leader for
support you can count on.
We’re committed to reliability
with a 100% 1-year parts-labor
warranty. A step-by-step manual
starts you off—fast.
A SOLUTION IN A BOX:
HARDWARE AND SOFTWARE
TO LINK PCS AND PERIPHERALS
BY SIMPLE MENU COMMANDS.
Solo PC power users: Get
7-peripheral software
control with Crosspoint
AB + —for under $500.
TO FIND YOUR NEAREST
CROSSPOINT DEALER,
CALL 1-800-232-7729 OR
503-485-4254.
■■Crosspoint
■# Systems
Copyright ® 1986 by Crosspoint Systems,
Inc., 1710 Willow Creek Circle, Eugene, OR
97402. Prices and specifications subject to
change without notice. Lotus 1-2-3, Auto¬
CAD, WordStar and Microsoft Windows are
trademarks erf Lotus Development Corp.,
Auto Desk, Inc., MicroPro Int’l., and Micro¬
soft Corp., respectively.
CIRCLE NO. 161 ON READER SERVICE CARD
IBM’s
2,400b E ?C^
give you
an easy
choice;
comp uter 5 “-‘ ve 2,400 blts , ? e !^fi\e transfer
very impres 1 s a binary minute—
That tran t V3 K characters per m
^ ed ^TS- rth K^ cetel '
or over six pas on out ions
pactthatfTihav fast .
<** r tS «« b ° th r d nt
, L, versatile. They c ds ranf
they re also nc hronously at V
receive4at j, . do wnto J the
^S^^T&Sastlre®
l “AcT” command 8 v have been teste
or
The Automatic Modems
These modems feature
Automatic Adaptive Equaliza¬
tion at 2,400 and 1,200 bps—
which means they will continu¬
ously fine-tune themselves to com¬
pensate for changes and noises on the
telephone line. The result is, you can re¬
ceive data over a wider range of telephone
line conditions.
Both modems also feature automatic or
manual answering and dialing. They’ll auto¬
matically switch to pulse dialing if tone dial¬
ing doesn’t work. They have automatic
redialing. And once a'connection is made,
automatic speed detection. They also have
automatic detection of a voice or a failed call.
A Modem with a Memory of Its Own
The stand-alone IBM 5842 2,400 bps
Modem offers some additional features. It
can also send and receive data synchronously
at speeds of 2,400 bps or 1,200 bps. You’ll
find extensive “Help” menus. A dial direc¬
tory for 20 phone numbers. A log-on direc¬
tory for five log-on sequences. A built-in
pattern generator for self testing. Diagnostics
implemented from the front panel as well as
from the computer keyboard. And a com¬
plete array of LED Status Indicators to give
you a quick visual check on what’s happening.
Internal
The IBM
Personal Com^«.
2,400 bps Modem.
Which
The internal IBM Personal
Computer 2,400 bps Modem is de¬
signed to occupy a half slot in the
IBM PC, XT, AT and 3270 PC.
The stand-alone IBM 5842 2,400
bps Modem is compatible with all models
of IBM Personal Computers. And, in addition
to the features mentioned above and its
internal power supply, the significant
difference is that a stand-alone modem can
be moved from PC to PC more easily than
an internal modem.
If you feel that 2,400 bps is more modem
than you need, we also offer the stand-alone
IBM 58411,200 bps Modem, and the internal
IBM Personal Computer 1,200 bps Modem.
For the Authorized IBM PC Dealer nearest
you—or for free literature on the IBM family of
PC Modems—call 1800 IBM-2468, Ext. 936/EM.
Or you can contact your 55™.=! -5E®
IBM marketing representative. JE^ sFE
Crosstalk is a trademark of Microstuff, Inc. Microsoft is a registered trademark of Microsoft Corp.
Smartcom and Smartcom II are registered trademarks of Hayes Microcomputer Products, Inc.
CIRCLE NO. 172 ON READER SERVICE CARD
Desktop
Data Acquisition
n the scientific laboratory, data ac¬
quisition and analysis programs are
playing an increasingly important
part in the manipulation of experimen¬
tal data. Similarly, such programs can
be used in a variety of industrial appli¬
cations to control simple processes.
Macmillan Software’s as want+
converts the IBM PC and compatibles
into a desktop data acquisition and anal¬
ysis system comprising several virtual
instruments. For many applications that
can tolerate moderate sampling rates,
asystant + can take the place of more
expensive, dedicated instruments—al¬
beit at a loss in ultimate performance.
The basic version of the program,
asystant, converts the PC into a sophis¬
ticated calculator. To that basic capabili¬
ty, the more advanced version, asys¬
tant+•, adds the ability to control a data
acquisition accessory, asystant +’s capa¬
bilities are similar to those of a sister
product, asyst, which provides a FORTH
interpreter-1 ike user interface.
A SOPHISTICATED CALCULATOR
asystant + ’s basic user interface is simi¬
lar to that of a stack-oriented, hand¬
held, electronic programmable calcula¬
tor, such as the various Hewlett-Packard
(HP) models. In fact, the main screen
display is referred to as the desktop cal¬
culator and resembles a calculator in
functionality. It is divided into five
windows, four of which correspond to
the facilities of an advanced program¬
mable calculator (see photo 1). The
fifth window contains the main options
that access other parts of the program,
such as waveform processing and gen¬
erating, graphics, and curve fitting.
The calculator windows are stack
contents, calculator functions, parame¬
ters, and variables. Three other calcula¬
tor menus—array operations, conver¬
sions and special functions, and wave
and matrix operations—can he inter-
ASYSTANT+ from Macmillan Software
provides sophisticated data acquisition for scientists
and engineers from a desktop computer.
VICTOR E. WRIGHT
changed with the calculator functions
(see figure 1). Each calculator menu in¬
cludes the selection, next, to display the
next calculator menu.
A key concept in learning to use
asystant+ is that of the stack—an area
of memory used for temporary data
storage. Data can be placed on the stack
from the keyboard or from other stor¬
age areas, and can be removed from
the stack to be placed in other storage
areas. Most operations and functions
take their arguments from the stack and
leave their results on the stack. HP cal¬
culator users and FORTH programmers
should be comfortable with the system.
The program begins with a cursor
positioned on the first selection of the
main menu, acquire. Pressing PgUp
moves the cursor to the calculator func¬
tions menu. This gives the expected as¬
sortment of mathematical functions and
stack operators— store, stores the entry
at the top of the stack in a parameter or
variable; dup, duplicates the top entry
in the stack; drop, drops the entry at
the top of the stack; swap, switches the
top two entries on the stack; and roll,
places the bottom entry on the stack on
the top and pushes the other entries
down one. A status selection allows the
user to select the format of numeric
output: angular units for use with trig¬
onometric functions, and data type—in¬
teger, double-precision integer, real,
double-precision real, complex, or dou¬
ble-precision complex.
Calculator commands can be en¬
tered by moving the cursor to the de¬
sired selection with the arrow keys and
pressing Enter or by typing them at the
keyboard. When a number, letter, or
operator is typed, the main menu win¬
dow clears and a command line area
appears in its place, regardless of the
location of the cursor.
Commands can be entered in Re¬
verse Polish Notation (RPN) used by HP
ASYSTANT+
The calculator functions menu is replaced with the array
menu, the conversion and special functions menu, or the
wave and matrix menu by selecting the “next” option.
PHOTO 2: Window Options
■ Graphics I
xy Auto
xy Plot Contour
xy Axis Setup
Window: RIGHT HALF -
Label Save
Clear Recall
Colors Return
The screen can be split into a variety of windows by select¬
ing the windows option, and each window can then be used
to display data independently.
and FORTH or in algebraic notation.
The program expects RPN; an algebraic
notation always must be preceded with
the \ character. Commands can be en¬
tered in strings and then are terminated
with the Enter key. Entering a valid
number places a result on the stack.
asystant +’s stack is limited to five en¬
tries, which are displayed in the stack
contents window. Stack entries can be
integers, real numbers, complex num¬
bers, or arrays of integers, real num¬
bers, or complex numbers.
In the calculator menu, macros
(“user functions”) can be assigned to
the ten function keys. Each key can be
assigned up to five lines of RPN or alge¬
braic notation. Pressing a function key
while in the Calculator executes the
macro. The macro assigned to one key
can include the name of another key, so
that additional functions may be per¬
formed by a single macro.
The parameters and variables win¬
dows on the main screen display pro¬
vide two types of storage registers, nine
of each. Parameters, A through /, store
numbers; and variables, R through Z,
store either numbers or arrays. Parame¬
ter and variable values can be copied to
the stack, and stack entries can be cop¬
ied or moved to the parameter and
variable registers. Parameters and vari¬
ables are available in all parts of the
program, and they can be assigned
descriptive names.
VECTORS AND MATRICES
The array operations menu is displayed
by selecting the next option from the
calculator functions menu. It offers a set
of commands to create and manipulate
arrays, asystant + provides for two types
of arrays; one-dimensional arrays, or
vectors, and two-dimensional arrays, or
matrices. An array occupies one slot on
the stack or one variable. Arrays cannot
be stored in parameters.
The program uses two 64KB seg¬
ments of RAM for storage of arrays. One
segment contains the arrays assigned to
the variables R through Z, and the other
segment contains any unnamed arrays
on the stack. A single array can occupy
an entire 64KB segment.
The array operations menu offers
selections for the basic vector and ma¬
trix operations. Three commands,
n:ramp, nm:ramp, and aedit, generate
unnamed arrays and place them on the
stack. N:ramp takes the top entry on the
stack as the size of a one-dimensional
array (vector) and replaces it with a
vector in which the I th element contains
the value i —the value of each element
is equal to the index. Nm-.ramp takes
the top two entries as the number of
rows and columns of a two-dimensional
array and replaces them with an array
in which the z/ th element contains the
value (/— l)m+j—i is the row index
and j is the column index.
The commands xsect, sub, trans,
diag, and reverse access certain array
elements. Xsect takes the top element
of the stack and replaces it with an ele¬
ment, sub with a subarray, trans with
the transpose of the array, diag with the
main diagonal, and reverse replaces the
top element of the stack with an array
with reversed column indices.
Arrays can be reordered with the
commands n:rot, reshape, sort, and
lookup, and they can be indexed with
index and msearch. Two commands
combine two arrays to form a third; cat
stacks the two arrays one over the oth¬
er, and lam places them side by side.
Cumulative operations can be per¬
formed on the rows of an array to cal¬
culate sums and products and find cu¬
mulative maxima and minima.
Arrays can be examined in spread¬
sheet format with the array editor func¬
tion, aedit. Arrays can be created direct¬
ly with aedit or with another command,
mramp, nm:ramp, lam, or cat, for exam¬
ple, and then edited. They also can be
built and edited by using other menu
options and functions, but using the ar¬
ray editor is the easiest way to make
minor changes.
Switching to the third calculator
menu, conversions and special func¬
tions, provides an assortment of options
for converting data from one coordinate
system to another, or from one data
type to another, as well as special ad¬
vanced functions. Numbers can be con¬
verted from a pair of values on the
stack, one real and one imaginary, into
a single complex entry on the stack. A
single complex entry can then be split
into a pair of values.
Data sets representing coordinates
can be converted between Cartesian
coordinates and polar coordinates or
spherical coordinates. Also, complex
numbers in the form jc + jy can be
converted to the polar form. (Note that
PC Tech Journal is using the electrical
engineering notation j for the imaginary
part of the complex number rather than
the mathematical form /.)
The more advanced functions in¬
clude the error function, factorials, the
number of combinations of things taken
r at a time from a set of n things, the
number of permutations of things taken
108
PC TECH JOURNAL
asystant+’s available calculator menus provide a versatile selection of mathemat¬
ical functions for manipulating the obtained waveforms and matrices.
r at a time from a set of n things, the
Bessel functions, elliptic integrals, the
gamma function, and the incomplete
beta function.
The wave and matrix menu, the
fourth calculator menu, offers several
numerical techniques for the analysis of
waveforms and matrices. Storing wave¬
forms as arrays allows the use of many
operations for the analysis of waveforms
or matrices. A series of waveforms can
be stored in a two-dimensional array,
one waveform per row.
Once the waveforms have been
stored, two functions, smooth and
window, are available to filter them.
The smooth function, a low-pass filter,
removes high-frequency components of
a waveform in the time domain, to
eliminate noise in a signal, for example.
The window function simulates a Black¬
man window, filtering out selected high
and low frequencies. This function is
better suited to waveforms stored in the
frequency domain.
A waveform can be integrated by
using Simpson’s 1/3 rule or differenti¬
ated by using interpolating polynomials
of a user-specified degree, as many as
seven. Four functions are provided for
Fourier transformations: fast Fourier
transforms and inverse fast Fourier
transforms for both one- and two-di¬
mensional arrays. An additional function
calculates the power spectrum (the
square of the magnitude of the Fourier
transform) of an array.
Other matrix operations included
in the fourth calculator menu are the
autocorrelation function, which is ap¬
plied to the top entry on the stack; the
aperiodic convolution of the top two
entries; the application of a Blackman
window to a subset of the top entry; the
Hilbert transform of the top entry; and
the cross correlation of the top two en¬
tries. By combining these advanced
functions, the user can filter signals
with low-pass or band-pass filters to re¬
move noise or isolate signal compo¬
nents, process images, generate spectral
analysis displays, generate diffraction
patterns, and analyze signals in both the
time and frequency domains.
The program performs the basic
statistical operations, average, standard
deviation, maximum, and minimum. A
single operator is provided to solve the
matrix equation, y = Ax. The operator
expects the y vector as the top stack en¬
try, and the A matrix (n by ri) as the
second entry. It replaces these two en¬
tries with the x, or solution, vector. Ad¬
ditional matrix functions are available,
they include commands to return the
trace of a matrix (the sum of the diag¬
onal elements), the matrix product of
two arrays, the Kronecker product of
two arrays, the determinant of a matrix,
and the inverse of a matrix.
CHOOSING FROM THE MENU
The main menu of asystant+ provides
11 options that enhance the versatility
of the program. These options include,
graphics, a waveform generator and
processor, two file operations, users
functions, curve fitting, polynomials, sta¬
tistics, differential equations, and a data
acquisition menu.
Graphics, asystant+’s graphics com¬
mands allow data to be displayed on
the screen, on a graphics printer, or on
a pen plotter. Graphics boards, printers,
and plotters are selected from menus at
the beginning of the initial session, and
the selection can be changed at the be¬
ginning of any session thereafter.
Arrays are used to store graphics
data. Two types of graphic displays can
be generated, Cartesian plots and three-
dimensional plots. Cartesian plots in¬
clude line graphs of a single vector vari¬
able or a row of a rectangular array,
plotted as a function of the indices; and
line graphs of two vector variables or
rows of rectangular arrays, with one
variable or row taken as the indepen¬
dent variable and the other as the
dependent variable.
Three-dimensional representations
include axonometric plots and contour
plots of two-dimensional arrays (shown
in photo 2). An axonometric plot dis¬
plays a surface representing the values
of the plotted array superimposed over
a rectangular grid; the height of the sur¬
face above the grid is proportional to
the value of the array element. A con¬
tour plot displays a series of contour
lines superimposed over a grid with the
contour lines connecting elements of
equal magnitude.
The graphics display is available to
preview graphics before plotting. The
default screen display includes a graph¬
ics menu and a graphics window. The
graphics window can be split into left
and right halves, upper and lower
halves, and four quarters.
asystant+ is able to produce a plot
with a minimum of information, by us¬
ing default values and scaling the axes
to display all of the data in a single plot.
The Setup command gives the user the
ability to customize the plot by speci¬
fying minimum and maximum values,
linear or logarithmic scales, labels,
grids, and the location of the origin.
Whenever an IBM Enhanced Graphics
Adapter (EGA) is used, the axes, labels,
background, and plot can be displayed
in different colors.
Users also can customize graphics
windows with the addition of text
labels. Labels can be positioned and
aligned as desired. The contents of a
graphics window can be saved to disk,
and recalled at a later time for display.
A graphics display is generated by
selecting the type of plot —y Auto,
y Plot, xy Auto, xy Plot, xy Axis,
Axon, or Contour. The program
prompts for the variable to be plotted
and then displays a menu that includes
the selections display graph and to
plotter; these selections produce screen
displays and plots.
Waveforms. asystant+ includes both a
waveform generator and processor. The
generator creates arrays of values that
represent a variety of continuous wave¬
forms typically available from analog
function generators. These include sine
waves, cosine waves, square waves,
triangular waves, sawtooth waves,
pulses, uniform noise, white noise, and
Poisson pulse trains. In addition to se¬
lecting the type of waveform, the user
can control the gain, bias, and frequen-
FEBRUARY 1987
109
ASYSTANT+
cy of the waveform. These created ar¬
rays can be displayed on the screen,
stored on disk, plotted on the pen plot¬
ter, and used as the digital input to an
digital-to-analog convertor in asystant-k
The waveform generator produces
a single output—one of the waveforms
listed above. However, the output can
be stored in memory and then pushed
onto the stack. Successive output wave¬
forms can be pushed onto the stack,
and then the calculator can be used to
manipulate or combine them, creating
waveforms of arbitrary complexity.
While in the waveform generator,
two waveforms are immediately avail¬
able: the output of the generator and a
waveform stored in memory. The out¬
put waveform can be added to the
memory waveform to create complex
waveforms without leaving the genera¬
tor. Waveforms can be plotted on either
the screen or the plotter.
The waveform processor provides
a graphic alternative to the calculator
for processing one-dimensional arrays
(waveforms) or specified rows of two-
dimensional arrays. The waveform pro¬
cessor display includes a large window
in which a waveform is displayed, a se¬
ries of small windows that summarize
the history of the wave processing ses¬
sion, and a menu of commands.
The commands available in the
waveform processor are a subset of
those available in the calculator and file
processor. However, intermediate re¬
sults are displayed on the screen inter¬
actively, and several graphic aspects of
display can be specified by the user.
Waveforms can be processed in
segments, allowing uninteresting por¬
tions of the waveform to be ignored, or
separate segments to be processed in
different ways. A current segment can
be selected graphically, by positioning
two cursors in the main graphic win¬
dow. Segments of the waveform are
stored in several repositories —WFM
(waveform), ORG (original segment), •
MEM (memory segment), PRV (previous
segment), and SEG (current segment).
Images of the repositories are shown at
the top of the screen for reference; con¬
tents of MEM and SEG can be com¬
bined with selections from the wave¬
form processor’s memory ops menu.
Processing options include scaling
the waveform with a fifth-degree poly¬
nomial, clipping SEG to a specified
minimum and maximum, computing
the derivative of the waveform (to a
user-specified order), computing the in¬
tegral, smoothing the current segment,
computing the power spectrum, and
finding the envelope of the waveform.
An analysis menu provides selections to
find the basic statistics, rise time, fall
time, area under the curve, and width
of a specified peak.
Data file operations. Two submenus from
the main menu are devoted to file op¬
erations: file I/O, and file processor.
File I/O provides the basic facilities for
storing and retrieving data associated
with variables and for converting data
files into files that can be used by other
programs. The program supports two
external formats: DIF and ASCII.
asystant + data files are physically
composed of a block of comments fol¬
lowed by a series of data subfiles. Logi¬
cally, the file can consist of comments
and data sets. Both subfiles and data
sets contain multiple data points, and
both are limited to 64KB, which corre¬
sponds to the area in RAM that asys-
tant+ sets aside for the storage of vari¬
ables. A data file can contain several
blocks that may represent various
aspects of a model or experiment.
asystant+’s file I/O menu allows
subfiles and data sets to be selected as
rectangular sections of a group of ar¬
rays. Even though the data file is actu¬
ally a linear sequence of values, data
can be addressed by row and column
number, just as if the data were ar¬
ranged in two dimensions. Data sets can
be selected by specifying values or by
scrolling through the file graphically.
The file processor menu integrates
calculator functions and disk I/O func¬
tions. The processing capabilities of the
desktop calculator and the file proces¬
sor are identical. However, the file pro¬
cessor allows the user to specify the
data source, the operations to be per¬
formed, and the destination for the re¬
sults. The actual processing can be al¬
lowed to proceed unattended, whereas
processing with the desktop calculator
usually must be performed step by step.
Curve fitting. The curve fitting of asys-
tant+ gives an interactive environment
for fitting smooth curves through x-y
data sets. Results are displayed as math¬
ematical values and in graphic form.
The fitted curve can be specified as
linear, polynomial, logarithmic, expo¬
nential, multilinear, or user-defined.
Multilinear fits operate on one rectan¬
gular array and one vector, and the re¬
maining fits operate on two vectors.
The goodness of fit is determined by
the least-squares fitting method.
Both the original data and the fit¬
ted curve are displayed, superimposed
in a graphic window. The residual error
curve is plotted in a separate window.
Polynomials. An extensive set of poly¬
nomial operations can be performed
PC TECH JOURNAL
HIGH POWER
WITHOUT THE
HIGH PRICE
Microstat® has been the most popular statistics package for microcomputers since we in¬
troduced it in 1978. In the past two years, Microstat has been requested by name on more
military contracts than any other statistics package. When it comes to coverage, ease of
use, accuracy, and value, Microstat is unbeatable. Just some of it features include:
Data Management Subsystem for file creation and
management.
Data Transformations
Hypothesis Testing
Three types of ANOVA
Simple, Multiple, Stepwise Multiple Regression
11 Nonparametric Tests
Factorials, Permutations, Combinations
Batch or Interactive Operation
Read external files (e.g., Lotus,
dBasell, ASCII)
Descriptive Statistics
Scatterplots
Correlation Analysis
Time Series
8 Probability Distributions
Crosstabs and Chi-Square
User’s Manual
Microstat® is
available for MSDOS,
PCDOS, CP/M80,
CP/M86. The price is
$375.00. Multiple copy
discounts and cost-
effective site licenses
are available.
To order, call:
800-952-0472
(for orders)
or
317-255-6476
(tech, info.)
IrtfoWorld
Software Report Card
MICROSTAT
ECOSOFT
Infoworld, March 16,1981.
2 o .t o o
5 8 . £ § £
Functionally
Documentation
Ease of Use
Error Handling
Support
Ecosoft Inc.
6413 N. College Ave.
Indianapolis, IN 46220
CIRCLE NO. 131 ON READER SERVICE CARD
EARNING: This product may promote large
icomes, high productivity, and excessive free time.
dagus, Inc. is proud to present
)ata&Windows: a window-oriented data-
ntry system based on a new, revolutionary
iesign philosophy. The only problem is ...
/hat should we call it?
t is easy to learn and use, like a panel
;enerator, because it allows you to draw your
ext, fields, and colors on the video display.
lut we can’t call it a panel generator,
>ecause it supports full windowing and
crolling, and because screen and field
nformation may be stored in your program
iles (.EXE) rather than separate data files.
t is flexible and powerful, like a library-
»riented programmer’s toolkit, but you are not
estricted to "visualizing" your data-entry
vindows as you type page after page of code
o set up borders, fields, text and
lighlighting. Our innovative approach
called static windowing) eliminates the need
or replication of static data in dynamic
nemory.
t produces tight code, like a YACC (Yet
mother Compiler Compiler), but you don’t
tave to tolerate a myriad of small program
nodules that need to be compiled and
naintained. Instead, our "screen designer"
reates Microsoft object files which you
imply link with your applications.
Vdd to this new, superior design philosophy
he fact that it has more features, produces
ighter code, and yields higher performance
han any of the above. Throw in a clear,
oncise user manual, a thorough on-disk
utorial, and some example programs. Top it
>ff with a utility program that documents
ach screen and another that allows you to
>rototype (or simulate) your application
■efore you write a single line of code. Now,
/hat would you call it?
.et’s settle on a single word.
.et’s call it the "best."
5ut don’t take our word for it. Order your
emo disk today. You will receive a copy of
he screen generator, the tutorial, and some
ocumentation on the utility programs and
brary routines. Then make the decision
ourself.
)r take advantage of our one-time
itroductory offer and get $100 discount if
ou order before March 31,1987.
’all (713) 665-4109 for more information,
lajor credit cards accepted.
SCREEN DESIGNER:
Move/delete/center/fill/highlight block,
global field redefinition, move/resize window
and buffer, add/modify/move/delete field,
insert/delete/undelete line, test/save/abort
window, graphics characters, paint, jump-to-
field, many cursor movement options,
monitor switching, operating system calls,
help. Set validation mode, highlight current
field, scrolling by line or page, input mask,
tabs, initial values. More. Up to 400 lines per
screen.
FIELD DEFINITION:
Left-justify/right-justify/center, uppercase
translation, built-in character validation,
byte/integer/word/long/float/
double/string/date field validation, retain
data, auto-erase, protected fields, input
required, use commas, use zeros/spaces,
margin bell. User-defined character
validations, pattern-matching validations,
picture validations, and field types. More. Up
to 9999 fields per screen.
LIBRARY ROUTINES:
Open, close, move, display, and refresh
windows. Allow user to edit data fields in
window, or to view and manipulate a window
but not change data stored in it. Pull-down
and pop-up menus. Read screen object file
from disk. Intercept keyboard filter.
Override default key actions. Automatic and
manual refresh. Switch display device, erase
all data fields on window, plot data onto
fields or entire screens, retrieve data from
fields or entire screens, screen image dump,
retrieve and modify screen and field
attributes, locate field, force use of bios.
Direct interfacing with some bios interrupts,
including cursor and mouse control. More.
Mnemonic and simple to use.
REQUIREMENTS:
IBM PC/XT/AT/JR or true compatible, DOS
2.0 or later, at least 128K free RAM, and the
Microsoft C, Pascal, or Fortran compiler or
the IBM C compiler. Support is available for
other C Compilers and the XENIX operating
system. Call for specifics.
IBM, IBM PC, IBM XT, and IBM AT are
trademarks of International Business Machines.
Microsoft and XENIX are trademarks of
Microsoft Corporation.
For More Information
(713) 6654109
CIRCLE 180 ON READER SERVICE CARD
ndows
Magus Inc.
Screen Designer
Let’s Do Windows!
□ C □ Pascal □ FORTRAN
□ Please send_copies @ $345.00
Introductory discount -100.00
Your price 245.00
□ DataWindows with Library
Source Code $695.00
Introductory discount -100.00
Your price 595.00
Hurry! Introductory offer expires March 31,1987.
Show Me More!
□ Send me a Demo $10.00
In Texas add 6.125% sales tax_
Outside U.S. add 15.00_
Total enclosed $_
Enclosed is
□ Check □ Money Order
□ Visa □ MasterCard
Number ____
Expiration Date_
Name ___
Company_._
Address _ _
City ____—
State _Zip Code _
Send to:
MAGUS, INC.
4545 Bissonet Suite #114
Bellaire, TX 77401
I_-_
ASYSTANT+
from the polys menu. Polynomials can
be added, subtracted, multiplied, di¬
vided, and shifted by a factor. Polyno¬
mial coefficients can be edited and cop¬
ied to a variable. Roots can be extracted
and saved in a variable, and polynom¬
ials can be integrated and differentiated.
Finally, selections are provided to gen¬
erate Legendre, Laguerre, Tchebyshev,
and Hermite polynomials.
asystant+ can handle 10 polyno¬
mials. Each polynomial can contain real
or complex coefficients and can be up
to the ninth degree. A polynomial is
first defined, and then it can be applied
to the top stack entry.
Statistics. The stats selection of the main
menu presents a submenu of statistical
operations and messages. An edit func¬
tion is available to allow the user to
create or edit a data table without leav¬
ing the menu. The stats editor is identi¬
cal to the array editor that is provided
in the desk calculator.
The basic stats option computes
and displays the basic statistics for a
variable or subset of a variable. The sta¬
tistics displayed include the maximum
value, the minimum value, the sum of
the values, the mean, the median, the
variance, the standard deviation, skew¬
ness, kurtosis, the sum of the squares,
and the root mean square. These values
are displayed in a window on the
screen and can be sent to the printer.
Other basic statistical functions such as
sorting, percentile calculations, and hy¬
pothesis testing also can be performed
from the menu. The hypothesis tests
that are provided include the Kolmo-
gorov-Smirnov normality test, the 1
sample t test, the 2 sample t test, the 1
sample chi-square test, the 2 sample F
test, the Wilcoxon signed-rank test, and
the Mann-Whitney rank-sum test.
Histograms can be generated and
plotted. The user specifies the number
of breakpoints between “bins”. The
program sets up the specified number
of bins, equally spaced between the
minimum and maximum data values.
Once generated, the histogram can be
plotted, saved to a disk file, or left in
the calculator variables.
A menu selection is available to
generate commonly used frequency dis¬
tributions. These include both percent¬
ages and percentiles of the normal dis¬
tribution, the chi-squared distribution,
the student t distribution, and the
F (n,m) distribution.
Two advanced analysis techniques
are provided by asystant+. Stepwise re¬
gression is included with three varia¬
tions of the analysis of variance (anova)
technique, one-way, two-way, and table.
The anova techniques indicate which of
several independent variables are most
significant in explaining the variations
in the dependent variable. asystant+
displays the results of anova in a table
listing the sum of the squares, the de¬
grees of freedom, the mean sum of the
squares, the F-value, and the signifi¬
cance level of the F-value for each com¬
ponent and the residuals.
The regression option allows the
construction of a model representing a
dependent variable as a linear function
of several independent variables. A vec¬
tor holds the dependent variable, and
an array holds the independent vari¬
ables. The technique is interactive.
Terms can be entered into and re¬
moved from the model with a few key¬
strokes; this allows several combina¬
tions of terms to be examined easily.
Differential equations. asystant+ provides
a numerical method for solving first-
order differential equations, ranging
from a single equation to a system of
five equations, using the fourth order
Runge-Kutta method. Up to six variables
are used, the X variable for the inde¬
pendent variable, and Y, Z, U, V, and W
for dependent variables.
The model to be examined is spec¬
ified by entering the system of differen¬
tial equations, the initial conditions, and
extrapolation parameters, consisting of
step size used to generate the solution
curves and the final X-value. Solution
curves are stored in variables that can
be displayed on the screen under the
graphics menu, saved to disk, or sent
directly to the plotter.
Notepad. asystant+ includes a simple
screen editor, the notepad, which is
available from both text and graphics
screens by pressing Ctrl-N. The manual
cautions that the notepad is not in¬
tended to take the place of a word pro¬
cessor; however, the editor is equal to
the task of taking notes during experi¬
ments and creating simple reports.
The notepad is limited to straight
ASCII text files with no control charac¬
ters (such as the ones inserted by most
word processors), 16KB total file size,
and 80-character lines. Arrow keys and
function keys are implemented, to pro¬
vide cursor movement by character,
word, line, word, and file. A limited set
of block operations is available, as well
as search and replace capability.
Text can be inserted into the cur¬
rent notepad file when the editor itself
is inactive. asystant+ stores the current
file name, and a cursor location. The
calculator functions menu includes a
print command that sends the top stack
entry to the screen, printer, or current
The Advanced Programmer's Editor
That Doesn't Waste Your Time
• Fast, EMACS-style commands—completely reconfigurable
• Run other programs without stopping Epsilon—concurrently!
• C Language support—fix errors while your compiler runs
• Powerful extension language • Great on-line help system
• Multiple windows, files • Regular Expression search
• Unlimited file size, line length • Supports large displays
• 30 day money-back guarantee • Not copy protected
Only $195
Luaaru
Software Ltd.
5740 Darlington Road
Pittsburgh, PA 15217
for IBM PC/XT/AT's or compatibles
112
CIRCLE NO. 125 ON READER SERVICE CARD
PC TECH JOURNAL
... one package stands out as
the best support available for Turbo
Pascal programmers: Blaise Com¬
puting’s Turbo Power Tools. This
definitive set of prewritten Pascal
functions and procedures will
make the life of any programmer—
from the beginner to the hard-core
professional—easier and more
productive.
ANOTHER
PLUSFROM
BLAISE
COMPUTING
The best just got bet¬
ter! Turbo POWER
TOOLS, acclaimed as
the best programmer
support package for
Turbo Pascal, now has
even more functions, more detailed docu¬
mentation and more sample programs.
NO SECRETS
Power Tools Plus™
Window Routines.
Memory Resident Routines.
Routinely.
Turbo POWER TOOLS PLUS is crafted so
that the source is efficient, readable and
easy to modify. We don’t keep secrets! We
tell you exactly how windows are managed,
how interrupt service routines can be writ¬
ten in Turbo Pascal, and how to write mem¬
ory resident programs that can even access
the disk. Maybe you’ve heard of some un¬
documented DOS features that resident
programs use to weave their magic. Turbo
POWER TOOLS PLUS documents these
features and lets you make your own magic!
Here’s just pa rt of the PL US
in Turbo POWER TOOLS PLUS:
♦ WINDOWS that are stackable, re¬
movable, with optional borders and a
cursor memory.
♦ FAST DIRECT VIDEO ACCESS for
efficiency.
♦ SCREEN HANDLING including
multiple monitor and EGA 43-line
support.
♦ POP-UP MENUS which are flexible,
efficient and easy to use, giving your
applications that polished look.
♦ INTERRUPT SERVICE ROUTINES
that can be written in Turbo Pascal
without the need for assembly lan¬
guage or inline code.
CIRCLE NO. 104 ON READER SERVICE CARD
Reprinted from PC Magazine, June 10,1986 Copyright © 1986 Ziff-Davis Publishing Company
♦ INTERVENTION CODE lets you de
velop memory resident applications
that can take full advantage of DOS
capabilities. With simple procedure
calls, you can “schedule” a Turbo
Pascal procedure to execute either
when a “hot key” is pressed, or at a
specified time.
♦ PROGRAM CONTROL ROUTINES
allow you to run other programs from
Turbo Pascal, and even execute DOS
commands.
♦ MEMORY MANAGEMENT allows
you to monitor, allocate and free DOS-
controlled memory.
♦ DIRECTORY AND FILE HAN¬
DLING support to let you take advan¬
tage of the newer features of DOS
including networking.
♦ STRING procedures al¬
lowing powerful trans¬
lation and conversion
capabilities.
♦ FULL SOURCE CODE
for all included routines,
sample programs and
utilities.
♦ DOCUMENTATION,
TECHNICAL SUPPORT
and attention to detail that
have distinguished
Blaise Computing
over the years.
Turbo POWER
TOOLS PLUS sup¬
ports Turbo Pascal
Version 2.0 and
later and is just
599.95.
Another quality prod¬
uct from Blaise Computing: Turbo ASYNCH
PLUS™
A new package which provides the crucial
core of hardware interrupt support needed to
build applications that communicate.
ASYNCH PLUS offers simultaneous buffered in¬
put and output to both COM ports at speeds up
to 9600 baud. The XON/XOFF protocol is sup¬
ported. Now it also includes the “ XMODEM ”
file-transfer protocol and support for Hayes
compatible modems.
The underlying functions of Turbo ASYNCH
PLUS are carefully crafted in assembler for effi¬
ciency and drive the UART and programmable
interrupt controller chips directly. These func¬
tions, installed as a runtime resident system,
require just 3.2K bytes. The high level function
are all written in Turbo Pascal in the same
style and format as Turbo POWER TOOLS
PLUS. All source codeis included for just
*r-
$99.95.
BLAISE COMPUTING INC.
2560 Ninth Street, Suite 316 Berkeley, CA 94710 (415) 540-5441
ORDER TOLL-FREE 800-227-8087
Calif, residents call (415) 540-544JL _ _ —• —
',s*'
' OTHER—-r^idd Sl°- 00 f , ).
* domestic order ___ phone: ( ——
\ Name
> Shipping AddreSS ’'
\ Clt y
l VISA or _
ASYSTANT+
notepad disk file. Disk file output can
be inserted at the current cursor loca¬
tion or appended to the end of the file.
Charts and tables can be constructed in
the stack with the various matrix opera¬
tors and functions, edited with the aedit
command, and then inserted into the
notepad file.
Mini-calculator. A streamlined version of
the desk calculator, the mini-calculator,
is available from both text and graphics
displays when any of the main menu
options is active. Only the command
line can be used for input; menu input
• Attach to most IBM PC compatibles
• Cobol, Fortran, BASIC, and C support
• 800 NRZI, 1600 PE, and 6250 GCR
• Transfer rate is 1-4 MByte/Minute
• Block lengths up to 65K
• ANSI, IBM, DEC, and DG supported
• Support for most record types
• Multivolume and labeled tapes
• Select specific records to transfer
• Record reformatting and translation
• Hard disk backup utility
• Support for many tape drive models
is not available, and those commands
that are only available as menu selec¬
tions cannot be called from the mini¬
calculator. The display consists of the
stack and a command line.
DOS commands and help. A menu of basic
DOS operations can be invoked by
pressing Ctrl-D. Menu selections can
delete, copy, and rename hies, display
directories, and return to asystant-k An
on-line help facility can be invoked by
pressing the ? key. It is context sensitive
and organized to follow the structure of
the manual. The help display can be
The price for controller card, cable, and
transfer software is only $795. The op¬
tional tape data reformatting utility is
$195. Several model tape drives are
available for $2700 to $9200 depending
on features.
Since 1982, we have installed thousands
of diskette and tape conversion systems
at customer locations around the world.
Call us today for help in connecting a
9-track tape system to your IBM PC.
paged by pressing the Space Bar, or
navigated with the function keys.
ACQUIRING THE DATA
In addition to the basic ASYSTANT facil¬
ities, asystant+ includes the software
necessary to control data acquisition
hardware, The host computer, under
the control of asystant-h, becomes the
control panel and graphic display for
several such devices. In each case, the
computer display resembles a tradi¬
tional analog instrument.
Data acquisition functions are avail¬
able from the data acquisition menu,
which is displayed when the acquire
option is selected from the main menu.
This menu includes selections for the
various instruments asystant + can emu¬
late and a selection for configuring the
software to match the data acquisition
board or external chassis.
Configuration of the system is
menu-driven. It consists of selecting the
host computer and the data acquisition
board from lists of supported devices
and then setting various parameters to
match the physical configuration of the
data acquisition board. The manual
astutely warns the user that determining
the physical configuration of the hard¬
ware may not be a trivial matter. A
detailed appendix provides information
about the configuration of supported
boards; it is presented clearly and con¬
cisely enough to replace most data
acquisition board manuals for standard
applications.
It should be noted that configura¬
tion involves specifying the host com¬
puter as well as the data acquisition
board, even though the program is in
use on the host computer. The program
must know the clock speed of the host
computer to perform timing tasks.
Data acquisition board parameters
that are specified during the configura¬
tion process include the board’s I/O ad¬
dress, the number of A/D channels, the
A/D channel voltage range, the hard¬
ware gain, the number of D/A channels,
and the D/A voltage range, asystant+
does not necessarily support all of the
features and configurations of sup¬
ported boards, but the manual docu¬
ments the ones that are.
Additional configuration parame¬
ters, selected from the acquisition con¬
figuration menu include confirmation
that a hardware scroller board (a high¬
speed, strip-chart recorder) is installed,
the specification of engineering units to
be used in file conversion, color assign¬
ments for A/D channels when an EGA
board is installed, the assignment of
names to channels, and a bit pattern to
f FLAGSTAFF
_ ENGINEE RIN G
1120 W. Kaibab • Flagstaff, AZ 86001 • Telephone 602-779-3341
TRACK
TAPE
Our “TAPE CONNECTION” system is used by hundreds of companies for mailing
lists, report filing, check processing, sales analysis, off-line printing, and exchang¬
ing large data base files with a mainframe. Our system features:
114
PC TECH JOURNAL
0/S ARCHITECTURE: sink with UNIX or soar with QNX.
If the sheer weight of UNIX brings
the PC to its knees, all
applications running under it will
suffer. Conceived more than a
decade and a half ago, UNIX is
today the result of modifications,
additions and patches by
hundreds of programmers.
It needs the resources of
at least an AT.
Compare this to the QNX O/S,
designed by a dedicated team
with a common purpose and
complete understanding of both
the software and the
environment in which it must
run. Having elegantly solved
the problem of inter-task
communications, QNX is more
than capable of both networking
and real time performance
- the superior choice for
process control and office
automation systems.
Quick and efficient on a PC, QNX
soars on an AT. QNX occupies
70K (stand-alone version) to
104K (network version) of system
memory and allows 40 tasks
(programs) and up to
lOterminals per computer.
QNX modular architecture
facilitates easy adaptation
and extensions by software
developers for specific
requirements. In addition,
PC-DOS runs as a single-tasking
guest operating system under
QNX. With the DOS Development
System, DOS EXE files can be
developed in shorter time
than under DOS itself.
Communication among all tasks
is via “message-passing.” Tasks
anywhere on a network of up to
255 computers communicate
rapidly and transparently
with each other.
With the true distributed
processing and resource sharing
of QNX, all the resources on the
network are available to any user.
Application programs and data
can be distributed over the
network without having to go
through a central file server.
Network growth is fast and
simple. If your disk becomes
a bottleneck, add a disk
anywhere on the network. If
your needs outgrow your
present configuration, just add
terminals and/or computers
as required, without having to
re-write programs and without
system degradation.
If you would like to know the
secret of the QNX architecture,
please give us a call. We invite
End Users, VAR’s, OEM’s and
Software Developers to discover
a whole new world of
computing capabilities.
Over 25,000 systems have been
installed worldwide since 1982.
Multi-User
10 serial terminals per PC, AT.
C Compiler
Standard Kernighan and Ritchie.
Multi-Tasking
Networking
40 (64) tasks per PC (AT).
2.5 Megabit token ring.
255 PC’s and/or AT’s per network.
10,000 tasks per network.
Thousands of users per network.
Flexibility
Single PC, networked PC’s,
Single PC with terminals,
Networked PC’s with terminals.
No central servers. Full sharing of
disks, devices and CPU’s.
Real Time
2,800 task switches/sec (AT).
PC-DOS
PC-DOS runs as a QNX task.
Message
Passing
Fast intertask communication between
tasks on any machine.
Cost
From US $450.
Runtime pricing available.
Fbr further information or a free demonstration diskette,
please telephone (613) 726-1893.
The only multi-user, multi-tasking,
networking, real-time operating system
r^7for the IBM PC, AT
1 and compatibles.
By Quantum Software.
Unix is a registered trademark of AT & T Bell Labs, IBM PC. AT, XT and PC DOS are trademarks of IBM Corp.
Quantum Software Systems Ltd., Moodie Drive High Tech Park, 215 Stafford Road, Ottawa, Ontario, Canada K2H 9C1
CIRCLE NO. 239 ON READER SERVICE CARD
ASYSTANT+
STOP
HALF-FAST
PROGRAMMING!
Speed Up YOUR
Programs With...
THE^WKTCHER
An execution profiler
for IBM PCs
and compatibles.
Most programs run at
less than half the speed
they could. You can opti¬
mize almost any code,
but where do you start?
A typical program spends
90% of its time in 10% of
its code. The Watcher
identifies that critical 10%
for you, so you don’t
waste your effort on the
wrong 90%.
The Watcher is easy to learn
and easy to use, and we provide
full technical support. Watcher
users have increased program
performance by as much as
300%. You can get similar
results.
The Watcher works with any
non-interpretive language on
DOS version 2 or 3.
Turbo Pascal users: A
special section of our
manual is dedicated to
you!
THE^WOCHER
only
$59.95
Plus $3.00
Shipping &
Handling.
To order or for free information,
call or write:
Forest Road
Wilton, New Hampshire 03086
(603) 654-2525
CIRCLE NO. 244 ON READER SERVICE CARD
FIGURE 2: Data Acquisition Menu
FUNCTION
GENERATOR
/ ---
STRIP CHART
RECORDER
XY
RECORDER
\
TRANSIENT
RECORDER
DATA
LOGGER
HIGH SPEED
RECORDER
SIGNAL
AVERAGER
HARDWARE
SCROLLER
11
_1
1
■ :
1 : :
1
Although the accuracy that can be obtained from a PC-based data acquisition sys¬
tem does not match that of individual laboratory instruments, asystant + does man¬
age to provide an economical solution for moderate sampling rates.
be set on the digital output port at the
beginning of a data acquisition session.
A final option is the selection of an un¬
protected mode, asystant + normally op¬
erates in a protected mode, in which it
prevents acquisition of data at sampling
rates above that known to be reliable
(the Nyquist rate). The unprotected
mode allows the user to specify higher
sampling rates at the risk of hanging the
system, requiring a reboot.
With the data acquisition board in¬
stalled and configured, asystant+ pro¬
vides the user with the ability to select
the preferred interface, or metaphor ,
from the data acquisition menu. Each
selection performs the same basic task,
that of controlling the data acquisition
board, but it resembles a different labo¬
ratory instrument (see figure 2).
asystant + can simulate a strip-chart
recorder, a hardware scroller (if one is
installed), an XY recorder, a transient
recorder, a data logger, a high-speed re¬
corder, a signal generator, and a func¬
tion generator. When an instrument is
selected, the program displays a sub¬
menu including options to set or mod¬
ify instrument parameters, to begin
acquiring data, and to return to the data
acquisition menu. Set-up parameters
can be saved to disk and recalled.
In general, acquisition parameters
are common to all of the instruments;
although some of them require the
specification of additional parameters.
asystant + displays the current parame¬
ters on a configuration screen, along
with appropriate limitations, and
prompts the user for new values. The
parameters required to set up a gener¬
al-purpose instrument for a session are
trigger type, internal or external clock,
number of analog input channels, the
first channel in a scan cycle, value for
the software gain, the acquisition rate,
the number of data points per channel,
the number of scans to perform in the
session, and the file to be used for data
storage (file storage is optional).
Because data acquisition boards
typically multiplex several analog input
channels through a single analog to dig¬
ital converter and have limits on the
speed at which they can operate, these
parameters are interrelated. For exam¬
ple, in the high-speed recorder mode,
the maximum acquisition rate is in-
116
PC TECH JOURNAL
Introducing the new
386XT
Quad386XT turns
into a 386 for less
Step up to the power of386 with Quad386XT from
Quadram. At under $1500, it’s the first system en¬
hancement to deliver uncompromised 386 per¬
formance for your PC XT.
The power of 32-bit processing. Just plug
Quad386XT into your PC XT. It’s easy. There are no
switches or jumpers to set. The on-board 80386 chip
takes charge of your XT system with true 32-bit pro¬
cessing, unlimited memory access, greater speed, and
full PC program compatibility.
Multitasking at 16MHz! With
Quad386XT, your XT acts like a
$7000 Compaq 386 machine.
IBM is a trademark of Inttnutiotial Businas Machines Inc.,
And at 16MHz, Qpad386XT
gives you fast, efficient multi¬
tasking. Run your programs con¬
currently and watch your productivity jump!
Attention DP managers and VAD/VARs.
Quad386XT makes perfect sense when you want to
upgrade or custom-tailor a system for true 386 perfor¬
mance. And at under $1500, it’s the smartest
choice around.
For more information, contact us at
One Quad Way, Norcross, Georgia
30093,404-923-6666.
QUADRAM
' An Intelligent Systems Company
CIRCLE NO. 223 ON READER SERVICE CARD
ASYSTANT+
versely proportional to the number of
channels selected.
asystant + extends the operation of
its waveform generator to the control of
the data acquisition hardware, allowing
the system to operate as a function gen¬
erator. The digital values determined by
the function generator are used to pro¬
duce analog signals with the data acqui¬
sition board’s digital-to-analog con¬
verter. The function generator provides
two output channels, taking arrays
stored in variables R and S as the input
waveforms. The function generator can
create standard waveforms, experimen¬
tal waveforms acquired from earlier ses¬
sions, and waveforms that have been
processed by any asystant + function.
asystant+’s function generator is capa¬
ble of providing signals that are not
available from conventional analog
function generators. It is limited in
speed and resolution to a throughput of
300 to 400 points per second.
The function generator can be
used as a stand-alone device or in con¬
junction with other asystant + instru¬
ments. In either mode, the generator’s
output can be controlled interactively.
As a stand-alone device, it can replace a
conventional generator and drive a plot¬
ter or real-strip chart recorder to pro¬
duce a hard copy of a waveform. When
used in conjunction with the other in¬
struments, the generator can provide a
known stimulus or control signal to the
experiment. Using the generator with
other asystant + devices can affect the
operation of the generator or the other
device, reducing the throughput of the
acquisition instrument. The program,
however, does allow the operator to set
the priorities of concurrent tasks.
asystant+’s strip-chart recorder is a
digital replacement for an eight channel
strip-chart recorder. The screen display
resembles an analog strip-chart record¬
er with data points that appear at the
right edge of the display and move
across the screen as if on moving pa¬
per. The screen displays only the active
channels, providing greater resolution
as the number of channels is reduced
from the maximum of eight.
The strip-chart recorder is limited
to a maximum throughput of 40 to
70 Hz (points per second in this con¬
text), the exact maximum rate depends
upon the hardware configuration. If the
maximum number of channels is select¬
ed, and data are output to disk concur¬
rently, the throughput is reduced. Thus,
the recorder is suited only to slowly
varying signals. If data file output is not
selected, the data are lost once they
scroll off the screen.
While it is operating, the strip-chart
recorder can be controlled. The data ac¬
quisition rate and gain can be altered;
data hie output can be suspended and
resumed; and the display resolution can
be modified by skipping data points. If
the function generator is active, it may
also be adjusted.
The XY recorder acquires data
from a maximum of two channels and
displays the data on an xy plot—one
channel’s input corresponding to the a;
axis and the other corresponding to the
y axis. It is possible to display vertical
and horizontal grids either individually
or together.
The XY recorder has a higher
throughput, ranging from 340 to 670
Hz, than does the strip-chart recorder.
The difference in speed is due to the
limit of two channels, and to a lack of
concurrent data hie output that is avail¬
able only between scan cycles. The user
can select a single scan mode in which
the recorder pauses to allow data hie
output or a continuous scan in which
data hie output is not an option.
The XY recorder can be interac¬
tively controlled. While the recorder is
acquiring and plotting data, the user
can set the acquisition rate and pro¬
grammable gain, adjust the function
generator (if it is enabled), change the
display increment and halt the scan. Be¬
tween scans, data can be saved to disk if
data hie output was selected; then the
next scan can be initiated, and the cur¬
rent scan can be displayed versus time,
superimposed on the xy plot.
To acquire data before and after an
event in an experiment, the transient
recorder captures and plots analog data
in two stages, based on two triggers. It
can acquire data on as many as eight
channels with a maximum throughput
of 340 to 800 Hz. The user must specify
two triggers to begin acquisition of data
for each stage. The recorder acquires
and then plots the data. As with the XY
recorder, data can be output to a disk
hie only between scans. A continuous
mode and active control during opera¬
tion are available.
The data logger is a low-speed de¬
vice that provides for analog data input
from up to four channels and the con¬
trol of eight digital lines. Its throughput
is limited to 1 Hz. However, concurrent
data hie output, realtime conversion of
voltage to engineering units, and simul¬
taneous hard-copy output are available.
Data are displayed in text form on the
screen in realtime.
Setting the acquisition parameters
for the data logger requires three
screens instead of the usual one for se-
Personal REXX
for the IBM PC
★ Interpreter for the full REXX language, including all of the standard REXX
instructions, operators, and built-in functions
★ Sophisticated string manipulation capabilities
★ Unlimited precision arithmetic
★ Direct execution of DOS commands from REXX programs
★ Built-in functions for DOS file I/O, directory access, screen and keyboard
communication, and many other PC services
★ Compatible with VM/CMS version of REXX
★ Uses include:
— Command programming language for DOS
— Macro language for the KEDIT text editor
— Can be interfaced by application developers with other DOS
applications, written in almost any language
Mansfield Software Group, Inc. $125 plus $3 shipping
P. O. Box 532 MC, VISA, AMEX, COD, PO, CHECK
Storrs, CT 06268
(203) 429-8402
CIRCLE NO. 263 ON READER SERVICE CARD
118
PC TECH JOURNAL
AN ELECTRONIC DETECTIVE
In a practical application, asystant+
can be used as a sophisticated detec¬
tive in an industrial plant. As an
example, a plant engineer installs a
tachometer on a component of a
production line, and it produces a
clean, square wave. However, when
the tachometer is connected to the
control panel several hundred yards
away, the control panel display is
greatly altered and meaningless. The
plant engineer connects a microcom¬
puter with a data acquisition board
and asystant + installed, and finds a
signal like the one shown in figure
1, instead of the square wave.
The plant engineer then takes
the asystant + equipped microcom¬
puter to the tachometer and meas¬
ures the signal directly. As expected,
its output is normal, the square wave
shown in figure 2. Evidently, the sig¬
nal is being degraded between the
The waveform at the control panel has a large amount of
noise superimposed on the square wave.
Subtracting the square wave from the waveform in figure 1
shows the noise that has been inducted in the cables.
the system. The resulting waveform,
plotted in figure 3, is still made up
of several components.
On a logical hunch, the plant
engineer tries subtracting a 60 Hz
sine wave, to remove any “power
hum”. After a few attempts with the
waveform processor to get the cor¬
rect amplitude, the waveform of fig¬
ure 4 results.
At this point, two components
are clearly discernible, a high fre¬
quency sine wave riding on a lower
frequency sine wave. The frequency
of each waveform is easily deter¬
mined, at least in this simplified ex¬
ample. With the frequencies of these
components known, the engineer
can set about locating their sources.
For a more complicated situation,
other methods such as plotting the
power spectrum can be used.
—Victor E. Wright
The waveform that is produced at the tachometer end of the
signal lines is in the form of a clean square wave.
After the removal of the power hum, the remnant noise can
be seen to be two waveforms, as shown in this example.
tachometer and the control panel.
Because the line from the tachom¬
eter to the control room is routed
through the plant, past various ma¬
chines and switchgear, the plant en¬
gineer is not surprised. The problem
is to identify the offending signals
and their sources.
With the noisy signal at the con¬
trol panel and the square wave sam¬
pled at the tachometer stored in
asystant + variables, the engineer is
ready to begin analyzing the signal.
After verifying that the square wave
and the noisy signal samples repre¬
sent the same time interval and the
same number of data points, the en¬
gineer subtracts the square wave
from the composite signal. Subtract¬
ing the two arrays stored in the vari¬
ables from each other and storing
the result in another variable leaves
just the noise that is picked up in
FEBRUARY 1987
119
t \ The 80386 chip. The “big bang”
/ / that’s put the speed and power of a mini-
/ A computer into a desktop PC. As awesome
^ / At as the creation of the universe, the 80386
» / 4 1 * signals the beginning of a new generation
/ /\\^ of computers.
/ /w\ 1 But how will you make them run? Will
f A | you choose an (derating system*designed for
/ /\ V the world of DOS applications... or one for the
/ AY" world of multi-users?
/ a \ * Introducing a new star, PC-MOS/386™...
/ A\ The Best of AU Worlds.
L A \ The Brightest of the Multi-User Operat-
jflf A Y ' ing Systems. PC M OS was specifically designed to
a \ l take full advantage of the 80386’s 32-bit multi-user
ly(t \ power. Planetary features include file & directory secur-
AY" ity, access to four GIGABYTES of memory, and graphics
jL \ \ support for 25 terminals driven by a single 80386-PC.
P\\\Y\ PC-MOS’s “Hot Spots”... 10,000 DOS Appli-
\ \\ \* cations. DOS program compatibility puts a world of
Y ' \ \ applications at your fingertips... like Lotus 1-2-3, dBASE
1 % " m, and WordPerfect. Plus, multi-tasking lets each user run
* up to 25 programs at the same time.
New Stars Are Still Being Bom. Call The Software
Link TODAY for more information and the dealer nearest you.
PC-MOS/386™ will make its earth orbit in February 1987 with single-
user, 5-user, & 25-user versions.
PC-MOS/386
THE FIRST 80386 OPERATING SYSTEM
G© THE SOFTWARE LINI
8601 Dunwoody Place, Suite 632
Atlanta, GA 30338 Telex: 4996147 SWLINK
CALL: 404/998-0700 Dealer Inquiries Invited
THE SOFTWARE LINK, INC./CANADA
k 250 Cochrane Drive, Suite 12
Markham, Ont L3R 6B7
fia CALL: 416/477-5480
IHH PC-MOS/386’" is a trademark of The Software Link, Inc.
Lotus 1-2-3, dBASE m, & WordPerfect are trademarks of
Lotus Development Corp, AshtonTate, & WordPerfect
Corp., respectively Technical specifications subject to
K change. Copyright €> 1986 by The Software Link, Inc.
CIRCLE NO. 196 ON READER SERVICE CARE
SYSTANT+
cting and configuring the analog input
lannels. Screens are provided to de-
le from one to four stages and up to
x alarm triggers. The stages allow the
:quisition rate and control logic to be
iried during the course of an exped¬
ient. The alarm triggers control the
splay of messages and output of user-
dined bit patterns on the digital lines
:cording to analog input levels or digi-
1 input bit patterns.
The ability to place bit patterns on
ie digital port allows the data logger to
2 used as a controller. It can monitor
id display up to four process variables
teasured with analog sensors, and it
in monitor the states of as many as
ght digital, two-position, devices,
ased on these conditions, the data log-
*r can provide an eight-bit digital out-
at, which can be used to control eight
gital devices or, if suitably converted,
1 analog device. It cannot directly con-
ol a proportional control device.
The high-speed recorder provides
Le highest sampling rate of the asys-
lNT+ instruments, matched only by the
gnal averager. Depending upon the
ita acquisition hardware, the sampling
ite may exceed 30 KHz. The sampling
ite that is realized is affected by the
amber of channels specified, as well
i by the add-on hardware limitations.
This high-speed recorder performs
5 tasks sequentially, first acquiring the
ita, then plotting them on the screen,
id finally recording them to disk,
sers can disable the screen display to
^duce the time between scans. Active
introl is provided, allowing the data
lot to be examined in detail between
ich of the scans.
The signal averager is similar to
ie high-speed recorder, offering the
ime sampling rate and number of
lannels and storing a cumulative aver¬
se of multiple scans. It allows data file
atput only at the end of a session, at
hich point it stores the current cumla-
ve average. The display is similar to
tat of the high-speed recorder, howev-
:, it shows the current scan and the
imulative average scan superimposed
>r each channel.
ARDWARE CONSIDERATIONS
;ystant+ runs on the IBM PC family of
amputers, as well as on compatibles,
he full 640KB of RAM supported by
C-DOS must be installed, along with
a 8087 or 80287 math coprocessor,
vo diskette drives or one diskette and
ne hard-disk drive, and a supported
raphics board. Supported graphics
oards include the IBM Color Graphics
dapter (CGA), the IBM EGA, the Her-
UNIX Tools on DOS
HARVEST THE KORN
Over 70 programs bringing elements of UNIX System V.2 to the
world of DOS. Our tools enhance your efficiency on machines
like AT&T 6300, IBM PC, XT, AT and compatibles. We offer:
shell — Korn shell compatible — combines best features of
Bourne & C shells
vi — a detailed implementation of the UNIX full-screen editor
awk — the only commercially-available version offering Bell Lab's latest
published specs
cat
chmod
cmp
comm
cp
cpio
ctags
cut
date
dd
dev
df
diff
du
echo
ed
egrep
fgrep
file
find
head
help
join
Ic
Is
more
mv
nm
od
paste
Pg
prof
pwd
rm
sed
size
sort
split
strings
tail
time
touch
tr
uniq
wc
and much, much more . . .
Programs come with complete UNIX-style command-line file name expansion and are not
copy protected. Phone support 9-6 EST. Full documentation is included.
Price: $139.00 Mortice Kern Systems Inc.
43 Bridgeport Rd. E., Waterloo, Ontario N2J 2J4
For information or ordering call collect: (519) 884-2251
MasterCard & Visa orders accepted. OEM & dealer inquiries invited.
UNIX is a trademark of Bell Labs. MS-DOS is a trademark of Microsoft Corp.
STREAMLINE YOUR PROGRAMMING
CIRCLE NO. 174 ON READER SERVICE CARD
cules Graphics Card, the AT&T High-
Resolution card, and the HP Vectra Mul¬
timode adapter.
The program performs the basic
asystant tasks without installing addi¬
tional hardware. However, if data acqui¬
sition is to be performed, asystant+
does require that a data acquisition
board or external data acquisition chas¬
sis be used. Supported data acquisition
hardware includes the Cyborg Issac 91-
I, the Dataq WFS-200PC Waveform
Scroller, Data Translation’s DT2800 se¬
ries, IBM’s Data Acquisition and Control
Adapter, the Keithley Series 500 system,
Megabytes DASH-16 board, and Tec-
mar’s Lab Master and Lab Tender
boards. (See “Digitizing Analog Data,”
Eric M. Miller, May 1986, p. 52 for re¬
views of some of these products.)
asystant- i- is a demanding program.
In addition to installing 640KB of RAM,
the user must ensure that the maximum
amount of RAM is available. TSR (termi¬
nate and stay resident) programs and
device drivers must be kept to a mini¬
mum; the safest course is to use only
the standard DOS configuration.
For this article, asystant+ was
tested on a Heathkit H-241 AT-compati-
ble computer, with 640KB of RAM,
2,176KB of extended memory, an 80287
numeric coprocessor, a Concept Tech¬
nologies ConceptBoard graphics adapt¬
er, and a Data Translation DT2801A data
acquisition board.
Although asystant + can operate on
a dual-diskette system, a hard disk
should be considered a practical re¬
quirement. Macmillan furnishes
asystant + on six diskettes—running the
program from diskette drives requires
frequent swapping of diskettes and se¬
verely limits hie storage.
Program configuration is an option
when the program is first loaded. The
program displays a sign-on message and
then a menu with options to recall
functions, parameters, and variables
from a disk hie, to perform hardware
conhguration, and to begin using the
program. The second selection, Setup,
displays a conhgure menu, with options
for selecting the display, plotter, and
printer, and for disk assignments for the
system overlay, data, and help hies. The
initial installation of the program con¬
sists of copying the hies from the distri¬
bution disks. Conhguration is accom¬
plished at the beginning of the initial
session and can be repeated at the be¬
ginning of any subsequent session.
BRUARY 1987
121
ASYSTANT+
asystant + uses a straightforward
method of configuring and controlling a
data acquisition board. However, instal¬
lation of a data acquisition board in a
typical microcomputer system may re¬
quire the reconfiguration of other
boards, the use of a nonstandard config¬
uration of the data acquisition board, or
the removal of other boards. Most data
acquisition boards are designed and
factory-configured to operate in a stan¬
dard microcomputer system, and asys¬
tant + assumes the use of a factory-con-
figured board. Microcomputers that
have multiple video boards, high-reso¬
lution graphics boards, nonstandard
mass storage device controllers, mice
scanners, and other accessories may be
difficult to configure.
The program allows the specifica¬
tion of the I/O address of the data ac¬
quisition board, and most data acquisi¬
tion boards can be jumpered to one of
several addresses. Selecting an unused
I/O address in a complex system may
not be trivial, but it can be accom¬
plished with some research.
To provide high-performance hard¬
ware, many data acquisition board com¬
panies incorporate circuitry to use the
computer’s DMA channels, as do the
manufacturers of hard-disk controllers,
tape backup systems, optical scanners,
network interface boards, and other
high-performance accessories. The stan¬
dard PC has four DMA channels, two of
which are free for accessories; the XT
has only one free channel to support all
of the accessories that require DMA ser¬
vices. asystant + does not use DMA, but
some acquisition boards must be con¬
figured to use DMA. The user must pay
attention to this issue.
Some data acquisition boards im¬
plement a memory mapped addressing
scheme rather than an I/O addressing
scheme, using the memory above the
base 640KB of user RAM. These boards,
designed when it appeared that there
were “holes” in the PC’s memory map,
may conflict with the EGA and other
video boards or with other accessories
that use normally vacant segments of
the memory map.
RATING THE PERFORMANCE
As a calculator, asystant + is a high-per¬
formance program. Most computational
tasks, including matrix operations, are
performed almost instantaneously. A
few of the advanced operations are
slower, but still reasonably fast, requir¬
ing a few seconds at most.
As a data acquisition system, asys-
tant+ realizes the potential of the
microcomputer. Critical elements of the
program are written in assembly lan¬
guage to attain the highest possible
speed of operation. However, a micro
computer is limited by its design as a
general purpose computing machine.
Overall system throughput is limited t
the speed of the data acquisition boar<
the clock speed of the computer, and
the speed with which data can be writ
ten to disk. asystant+ achieves its ulti¬
mate performance, which is essentially
the performance limit of the data acqc
sition accessory, by dedicating the hos
computer to controlling the accessory
and transferring the acquired data to
RAM. Graphic displays and disk I/O an
performed between acquisition tasks.
asystant+, a data acquisition boar
and a microcomputer will not replace
battery of high-performance, dedicatee
laboratory instruments. Dedicated in¬
struments are able to offer higher sam
pling rates, sometimes by factors of
hundreds or thousands, than does an
asystant + data acquisition system. Fur¬
thermore, they provide higher accurac
and resolution. As an example, an HP
3852S Data Acquisition and Control Sy
tern, suitably configured, can acquire
100,000 readings per second and store
up to the order of 64,000 readings lo¬
cally. High-performance digital storage
oscilloscopes and waveform analyzers
Thanks for all th<
cold pizza, drinking die
a‘normal’iob.
122
PC TECH JOURNy
:an acquire data at sampling rates of
ens of millions of samples per second.
Nevertheless, the asystant+ based sys-
em is a sound solution to the data
tcquisition problem. An example of
kSYSTANT+’s uses is given in the accom-
)anying sidebar.
It should be noted that the basic
tcquisition and analyzing of data is pro¬
dded by the data acquisition hardware
md not the program. The ambitious ex-
>erimenter/programmer may be able to
lo quite well without asystant+, by
vriting custom software to control the
lardware. But the average experiment¬
er, who must concentrate on the task at
land, will find that asystant+ makes
:onfiguring a comprehensive system a
datively straightforward procedure.
Writing custom software to match asys-
"ant+’s analysis and presentation
:apabilities could not be done within a
easonable timeframe.
[HE SOFTWARE PACKAGE
£ystant+ comes with seven diskettes,
fhe program is copy protected; a key
iiskette must be inserted in a diskette
Irive to load the program. An alterna-
ive to the key diskette arrangement is
ivailable from Macmillan in the form of
i hardware protection device. All of the
ioftware can be copied to the hard disk
or to the diskette drive with the DOS
COPY command.
The manual is a 2-inth, loose-leaf
binder with 8^ by 11-inch pages. It in¬
cludes a tutorial, a reference section,
several appendices, and an index, all
separated with tabbed dividers. A hard
slipcase is included. Both the printing
and packaging are excellent.
The tutorial is thorough and accu¬
rate. It guides the user through the es¬
sential features of asystant-k Although
the tutorial assumes that the user
already has some knowledge of data
acquisition, it is suitable for use as a re¬
fresher for occasional practitioners, or
as an introduction for a determined be¬
ginner. The tutorial can be completed
in a reasonable amount of time.
The reference section is well
organized, closely following the pro¬
gram’s menus. It covers die simulated
instruments in considerable detail. The
user will seldom have to refer to the
data acquisition hardware documenta¬
tion if the hardware is controlled exclu¬
sively With ASYSTANT+.
One possible drawback is that the
manual is definitely not a mathematics
textbook. The advanced math functions
available in the calculator are summar¬
ized only briefly. Users who occasion¬
ally require Bessel functions and fast
Fourier transforms may need to keep
an assortment of math textbooks handy.
The sister product, asyst, provides a
more insightful tutorial for using the
mathematical functions.
asystant+ adds realtime data acqui¬
sition capabilities to the asystant calcu¬
lator, which rivals any general purpose
computational tool, microcomputer-
based or not, in terms of speed, ease of
use, and functions. The data acquisition
capabilities obviously do not match
those of dedicated instruments. Howev¬
er, they do provide a comprehensive as¬
sortment of techniques for applications
that can tolerate moderate sampling
rates and provide these features at
much lower cost than dedicated instru¬
ments. An asystant+ system is a well-
balanced solution to moderate data ac¬
quisition needs and a high-perfo rmance
solution to analysis needs. IBuiSfil
ASYSTANT +: $895
Macmillan Software Company
866 3rd Avenue
New York, NY 10022
212/972-3960
CIRCLE 348 ON READER SERVICE CARD
Victor E. Wright is the manager of process
engineering at Luckett & Farley, located in
Louisville, Kentucky.
lights you spent eating
^ and wishing wu had
This is for Steve Klein and Dave Rolfe... two partners of Singular Solutions
Engineering of Pasadena, California, and for the more than 100 other people at Lotus® who
comprised the Lotus HAL" team. Without their help, Lotus HAL would never have become
what it is today: one of the most successful new releases in personal computer software
since 1-2-3® Thanks.
Lotus Development Corporation
© 1987 Lotus Development Corporation. Lotus and 12-3 are registered trademarks of Lotus Development Corporation. Lotus HAL is a trademark of Lotus Development Corporation.
Lotus HAL is distinguished from HAL. which is a t rademark of Qantel for its Hotel and Leisure Software.
FEBRUARY 1987
123
In a multi-access micro to
mainframe environment like
this university computer
center ; the responsibility of
insuring *round the clock
operation is the system
experts /
The computer marketplace has changed. It has gone from the
fairly basic procurement of stand-alone personal computers
and printers to complex configurations of extended memory
boards, graphic boards, monitors, hard disks, tape back-up,
printers, local area networks, micro-to-mainframe linkages
and a whole host of complex software necessary to make these
systems run. These products require in-depth technical evalu¬
ation before they can be even considered for purchase.
That’s why the computer buyer has changed. The end-user
is no longer able to select his own PC and peripherals. That job
is being tackled by the systems experts-professionals who are
able to build PC systems which optimize processing power,
mass storage, connectivity and software applications. His sys¬
tems expertise has made him the key factor in recommending,
evaluating and selecting PC’s and related peripherals for both
his own and client companies. And in light of the industry’s
shift toward connectivity, companies need someone who can
understand the exacting requirements and specifications
involved. Which is why the role of the systems expert has
become even MORE important in system configuration, since
very often he alone has the knowledge and expertise required.
Consequently, reaching the systems expert should be the
primary target for every marketer in the IBM PC standard arena.
To stay on the cutting edge of computer technology, sys¬
tems experts rely on PC TECH JOURNAL. They turn to it every
month because they know its editorial and ad content keeps
them on the cutting edge of developments in the computer
industry. And when companies
depend on you for multi-million
dollar systems—nothing else
will do. That’s why PC TECH
JOURNAL has become the key
source of technical systems
issues and PC product informa¬
tion for over 100,000 systems
experts.
If you’re a computer products
marketer, you have to reach the
systems experts, the ones
whose expertise is directly
responsible for corporate com¬
puter buying decisions. Reach
100,000 of them every month in
PC TECH JOURNAL.
Speed Infusion
The original IBM PC, which seems slow
compared with 80286 machines, can
be speeded up with different types of
accelerators; these six do so by increasing
the clock speed of the PCs resident 8088.
TED MIRECKI
S peed is much of what computers
are all about. As each new category’
of personal computer is intro¬
duced, it necessarily boasts a higher
clock rate: the original 4.77-MHz IBM
PC was followed by 80286 machines
running first at 6 MHz, then at 8, 10, 12,
and now 16 MHz. The new 80386 mod¬
els start at 16 MHz, but have the poten¬
tial to reach 24 MHz and beyond. More¬
over, the increase in performance deliv¬
ered by these machines is greater than
the ratio of clock frequencies because
the amount of work they accomplish at
each clock cycle is much greater. By
comparison, the PC is slow indeed
Rather than putting up with a slug¬
gish machine or replacing it outright,
the hapless PC user has one other op¬
tion: a PC accelerator board. Accelera¬
tors work by adjusting one or both of
the parameters that determine the com¬
puter’s internal processing speed: they
modify either the clock rate (the fre¬
quency at which computational events
occur) or the amount of useful work
performed at each event, or clock cycle.
Increasing the clock rate would seem to
be a fairly simple process, but it is far
from trivial on the PC. And expanding
the processing power is more compli¬
cated still, requiring the replacement of
the PC’s 8088 with something more ca¬
pable, such as an 8086, 80286, or 80386.
This article reviews accelerator
boards referred to here as Class I: they
run the PC at a higher clock speed but
retain the 8088 (or, in some cases, up¬
grade to an NEC V20). Six products are
evaluated: American Computer & Pe¬
ripherals American Turbo, Maynard
Electronics’ Surprise!, Megahertz Corpo¬
rations TurboSwitch, Microspeed’s
Fast88, Microsync’s Screamer, and
MicroWay’s 87/88 Turbo. Articles in sub¬
sequent issues will deal with boards in
Classes II and III, which are more com¬
plex boards that contain advanced mi¬
croprocessors with data paths that are
wider than eight bits.
Because these first boards are, for
the most part, simple devices, the per¬
formance improvement they deliver is
far from spectacular. Still, their rela-
SPEED INFUSION
PHOTO 2: Maynard Surprise!
PHOTO 3: Megahertz TurhoSwitch
Because each product modifies PC timing circuits (which
were not designed to be modified), none is as easy to install
as a typical PC add-in card. All require the removal of at
least one chip from the motherboard, and some require the
removal or replacement of several. Those requiring the in¬
stallation of a ribbon cable into a chip socket present the ad¬
ditional danger of plugging the cable connector in back¬
wards, as such cables are rarely keyed to avoid such confu¬
sion. The Megahertz TurboSwitch (photo 3 above) also re¬
quires the attachment of several fragile spring-hook-style clip
PHOTO 5: Microsync Screamer
PHOTO 6: MicroWay 87/88 Turbo
leads to chip pins on the motherboard. These are easily dis¬
lodged by shock or vibration. Provision must be made in
several cases for routing a switch cable out of the machine
and attaching a switch box to the chassis. For the Turbo-
Switch, this box is mounted on the PC’s front panel; thus, re
moval of the machine’s cover requires disconnection of the
switch box. All of the other products mount the switch box
on the back panel. The Maynard Surprise! (photo 2) and Mi¬
crosync Screamer (photo 3) avoid the switch box problem
altogether by allowing control completely from software.
128
PC TECH JOURNAL
PHOTOGRAPHS • BLAKESLEE/LAN E
The oscillator and timer frequency cannot be altered without disrupting system operation. The oscillator signal is essential to
200-line video modes, and the timer signal generates the 55-ms time-of-day interrupt and controls dynamic RAM refresh.
tively modest price (starting at about
$100) makes the purchase of one a
worthwhile investment. An understand¬
ing of how they work also provides
some interesting insights into very fun¬
damental aspects of the PC’s design.
IS TIMING EVERYTHING?
The main clock frequency that drives all
PC system components is derived from
a quartz crystal. In theory, a higher fre¬
quency can be obtained by changing
this part. However, such an operation
carries intrinsic difficulties. First, the
crystal is soldered to the mother¬
board—its removal is no small task. A
more serious problem is that this one
source provides a base for several dif¬
ferent frequencies used in various parts
of the computer. As figure 1 shows, an
Intel 8284 clock generator produces
various timing signals from one crystal
frequency. In a stock PC, these signals
are for the following components.
The oscillator has a frequency that
is equal to the crystals resonant fre¬
quency of 14.31818 MHz. This frequen¬
cy is fed to the expansion slots and
used by various adapter cards, most
notably the IBM Color Graphics Adapter
(CGA), which divides it by 4 to obtain
the 3.58-MHz color burst frequency re¬
quired by television monitors.
The main processor clock runs at
4.77 MHz, a speed obtained by dividing
the oscillator frequency by 3. This is the
heartbeat of the computer, the signal
that synchronizes all activity in the sys¬
tem. At each beat of the clock, adders
add, shifters shift, buses transmit, and
so on. The duration of one clock cycle
(the clock period) is the reciprocal of
the frequency, or 210 nanoseconds (ns).
The timer is a 1.1932-MHz signal
obtained by dividing the clock frequen¬
cy by 4 (actually, the 8284 outputs a sig¬
nal that is the clock’s signal divided by
2; this is again divided by 2 by circuitry
on the motherboard). This timer signal
is used by the 8253 timer chip in three
timers, each of which may be pro¬
grammed to produce different frequen¬
cies by various divisions of the input.
The first timer channel runs at 18.2 Hz
(timer signal divided by 65,536) and
produces the familiar timer-tick inter¬
rupt every 55 milliseconds (ms) that
maintains the time-of-day clock. The
second channel runs at 66.3 KHz (input
divided by 18), generating a DMA (di¬
rect memory access) request for dy¬
namic memory refresh every 15 micro¬
seconds (|is). Both of these timers are
initialized by the ROM boot-up routines.
The last timer channel controls the
speaker; its divisor can be set by a user
program to any value between 1 and
65,536, thereby theoretically producing
sounds from the ultrasonic down to 18
Hz. In practice, the physical limitations
of the speaker limit it to a much nar¬
rower range of about 100 Hz to 8 KHz.
Simply changing the crystal fre¬
quency, therefore, is not a possibility.
The realtime clock, CGA video syn¬
chronization, and, most critical of all,
dynamic memory refresh, are all too in¬
timately associated with it. This is not a
problem with the AT, in which the pro¬
cessor clock is driven by its own crys¬
tal—the AT clock frequency is one-half
that of the crystal, not one-third as in
the PC—and the oscillator and timer
signals are derived from a separate
14.31-MHz crystal. In addition, the crys¬
tal driving the clock generator is sock¬
eted for easy replacement. The AT doc-
FEBRUARY1987
129
SPEED INFUSION
INTEL
8284
TURBO
NORMAL
SPEED
SWITCH
OSCILLATOR
INTEL
8284
‘-
umentation states that the clock signal is
located in the expansion slots solely for
synchronization and that its frequency is
not guaranteed at any particular value.
This design enabled IBM to easily re¬
place the 6-MHz AT with the 8-MHz
model, and manufacturers of compati¬
bles to produce machines that operate
at speeds up to 16 MHz.
Interestingly, products to speed up
the PC clock became widely available
only after the introduction of the AT.
Before that, users had no perceived
need for the extra speed because there
was nothing with which to compare the
PC’s speed—it seemed adequate. On
the other hand, the more complex co¬
processor boards with 8086 and 80186
chips were being sold even then. Thus,
although not always at the forefront, the
market for higher-speed computing has
existed. The AT, with its separation of
the processor clock from the other tim¬
ing signals, pointed the way for chang¬
ing the PC’s clock frequency.
In its simplest form, this method
consists of installing two crystals in ad¬
dition to two 8284 chips, one to pro¬
vide oscillator and timer signals at the
PC’s design frequencies and another to
provide the clock signal at some fre¬
quency higher than 4.77 MHz. A typical
arrangement is shown in figure 2. In ef¬
fect, the original 8284 is replaced by a
printed circuit board (PCB) containing
two 8284s; the various signals from the
two are fed to the motherboard via the
PC’s original original 8284 socket. This
requires that the original 8284 be
mounted in a socket. Some machines
arrive with the 8284 soldered; in this
case, it must be desoldered and a sock¬
et installed. Fortunately, the 8284 is
socketed in most IBM PC’s.
Figure 2 also demonstrates how
the replacement of the 8284 with this
additional circuitry permits the imple¬
mentation of two switches. One switch
is used to move between 4.77-MHz
mode and high-speed (turbo) mode.
This is useful for clock-sensitive soft¬
ware, such as copy-protected programs,
that does not work at high speed.
The second switch really should
have been a part of the original PC de¬
sign; it is a hardware reset that per¬
forms a cold boot in the same manner
as the power switch, but with less wear
and tear on the circuitry (especially
hard disks). An explanation of how this
reset is accomplished, and the ways in
which it differs from a keyboard reset,
is provided in the sidebar, “Alternatives
to the Big Red Switch,” p. 135.
Therefore, the PC’s pulse can be
quickened without disrupting the activi-
The 8284 running at 21 MHz is used only to generate a 7-MHz clock signal. The
slower 8284 generates oscillator and timer signals at standard PC/XT frequencies.
ties that depend on a fixed time period.
The next question is, can the hardware
components in the PC keep pace with
the faster clock? The most critical of
these is the microprocessor, which typi¬
cally is not capable of running at much
beyond its design rate. In a stock PC,
the 8088 is rated at 5 MHz and cannot
be speeded up by a significant percent¬
age. It can, however, be replaced easily
and at a reasonable price (even for a
very high-speed chip). All of the boards
reviewed here incorporate a high-speed
replacement microprocessor. Again, this
requires that the CPU be socketed.
With a faster processor, the clock
rate can be increased until the next bot¬
tleneck is reached; in most cases, this
FIGURE 2: A High-speed Replacement Clock, Generator
RES
OSCILLATOR N/C
CLOCK 7.0 MHz
TIMER N/C
14.318 MHz
CLOCK
TIMER 2.38 MHz
RES
RESET
BUTTON
+ 5 VOLTS
ORIGINAL
INTEL 8284
SOCKET ON
MOTHERBOARD
130
PC TECH JOURNAL
12 MHz SPEED...
... plus A MEGABYTE FOR DOS
THEY ALL NEED NUMBER SMASHER/ECM "
Turn your PC or XT into the machine it should have
been! The 12 MHz Number Smasher/ECM is the fastest
accelerator on the market It is also the most powerful, provid¬
ing a true megabyte for DOS!
To break the 640K DOS barrier MicroWay designed a
Memory Management Unit (MMU) that is tailored to DOS
plus a 2000 byte resident driver- MegaDOS™. MicroWay
calls this breakthrough Extended Conventional Memory.
When you type CHKDSK with the board installed, your sys¬
tem will report 1,036288 bytes total memory and 1,010,016
bytes free! Any conventional DOS program can utilize a full
megabyte for data or code without changing a byte.
Downloading a mainframe application? ECM memory
runs with any program that uses DOS for screen services
including RM and MS FORTRAN and MS and LATTICE C!
This means you have an additional 384K available for over¬
sized applications. Programs which write directly to the
screen require a simple patch to adhere to the new standard.
MicroWay has already developed patches for the Lotus,
WORDSTAR and AUTOCAD screen drivers. Release 1A of
1-2-3 jumps from 535,516 to 916,444 bytes available and
runs faster than Release 2 for most worksheets.
Micro
INay
* Number Smasher, ECM and MegaDOS are tra
CIRCLE NO. 155 ON RE
Number Smasher/ECM is 100% compatible with
hardware and software including EMSand EGA boards.T
compatibility is a result of control: its speed is switch, k<
board or software selectable from 4.77 MHz to 12.0 Ml
Applications which have not been upgraded to ECM can 5
be run by setting DOS to 640K or 704K and using 1
memory above DOS for I/O enhancers.
Number Smasher/ECM runs floating point bound pi
grams fasterthan an AT or any other80286 based machii
In fact, Number Smasher’s 12 MHz 8087 runs a factor
three faster than the standard 80287 on the AT, delivering
to 125 kflops. Software is included for RAM Disk, pi
spooler, and disk caching, which speeds up floppy and he
disks by a factor of 2 to 10!
Number Smasher/ECM is the most cost effective pi
ductivity tool you can buy. The base board which runs
9.54 MHz comes with 512K and costs only $599! The co
plete system which includes a motherboard accelerator, o
megabyte of memory and a 12 M Hz 8087 is just $1199. C
today to discuss your particular configuration. Rememb
“The advantage of buying from Micro Way is outstanding p
sonal service.” (PC Magazine, 6/10/86 - p. 162)
The World Leadenn 8087_ Suppc
P.O. Box 79, Kingston, Mass. 02364 USA (617) 746-73
32 High St., Kingston-Upon-Thames, U.K., 01 -541 -54t
'ks of MicroWay, Inc. MicroWay is a registered trademark of MicroWay,
SERVICE CARD
Clipper is the fastest dBase III and
dBase III Plus™ compiler available.
Nothing else comes close. When
performance counts, experts rely
on Clipper for more speed, more
power, and more creative freedom.
You can, too. Call for details.
• Clipper compiled programs
run 2 to 20 times faster
• No royalties.,.no runtime fees .
• Source code security,
• User defined functions.
• Arrays.
• Simple menu commands.
• Context sensitive help can be
included with programs.
• More fields; more memory
variables.
• Call C and Assembly programs.
•Complete debugging facilities.
• Multiple file relationships.
•IBM PC , XT, AT, 3270
compatible™
• Multi-user capability .
**» *i;iM
—wmrrr |
a* m T
w* * V h*Jei
"?w «SL* i
*'• ^ir^-| m ja
CLIPPER. THE dBASE COMPILER.
A WINNING PERFORMANCE EVERY TIME.
Nantucket™
Nantucket Corporation
5995 South Sepulveda Boulevard
Culver City, California 90230
(213) 390-7923
Outside California call toll-free:
1-800-251-8438
dBase, dBase III, and dBase III Plus are trademarks
of Ashton-Tate, Inc.
IBM PC, XT, AT, and 3270 are trademarks
of International Business Machines Corporation.
Clipper and Nantucket are trademarks
of Nantucket Corporation.
CIRCLE NO. 224 ON READER SERVICE CARD
LOOK FOR CLIPPER™ ^
Autumn 86
IT MAKES NETWORKING EASY.
SPEED INFUSION
turns out to be the response time of the
memory chips. However, some other
chip, the DMA chip or interrupt control¬
ler, for example, may be the limiting
factor. If speed is limited by memory, it
might be practical to replace the entire
complement of RAM chips with higher-
speed chips. Note, however, that the
first bank of memory is usually sol¬
dered to the motherboard. It is one
thing to replace a single 8284 chip with
a socket; it is quite another to do like¬
wise for eight additional chips. There¬
fore, except for the faster CPU they
bring, most clock accelerators are de¬
signed to stay within the limits of the
machine’s original components.
The most obvious way to accom¬
plish this is to limit the new clock fre¬
quency to a rate acceptable to the slow¬
est component in the system. To do so
and still manage to realize speed im¬
provement can be attributed to two fac¬
tors: first, components usually are speci¬
fied slightly faster than they need to be,
and second, each component typically
exceeds its specifications slightly. The
additive effect of these factors can be
sufficient to allow a 50-percent increase
in the clock rate. The simpler clock ac¬
celerators, those providing circuitry not
much more complex than that shown in
figure 2, follow this approach.
Another method of circumventing
speed limitations is to provide hard¬
ware that slows the system down as re¬
quired, either by changing to a slower
clock rate at critical times or by allow¬
ing more clock cycles for certain activi¬
ties. The latter involves the insertion of
wait states —extra clock cycles—into the
memory I/O cycle (see “The Bottleneck
at the Display Adapter,” Michael Abrash,
January 1987, p. 104). Wait states in AT-
class machines are a hot topic, but the
same considerations must be given the
PC. The action and role of the wait state
is tied to the manner in which data
transfers occur between the CPU and
memory or I/O ports.
WAIT STATES
In general terms, the time needed to
transfer one unit of data to or from the
CPU is called a bus cycle. In the 8088,
the unit of data is one byte, and the
minimum length of a bus cycle is four
clock cycles. These cycles are desig¬
nated T1 through T4. Each cycle encom¬
passes specialized activities.
During Tl, the CPU outputs a bus
transfer request on its status lines and
an address on its data/address lines. The
status lines indicate the type of access,
either to memory or to an I/O port, and
whether it is to read or write. The bus
controller saves the address in an ad¬
dress latch so that it is available during
the remainder of the bus cycle.
In T2, the CPU removes the ad¬
dress from the data/address lines and,
for a write request, places the output
data there. For a read request, the lines
are disconnected from the CPU to make
them available to the memory or I/O
device that will supply the data. The use
of the same lines for different informa¬
tion at different times is known as time
multiplexing. This allows the complex
signal requirements of the 8088 to be
accommodated by a relatively compact
40-pin package. Meanwhile, address de¬
coding circuits connect the data lines to
the proper memory chips or I/O ports,
and data transceivers establish the sig¬
nals that control the direction of the
transfer (to or from the CPU).
During T3, the memory or I/O
device performs the actual transfer,
while the CPU does nothing. In the last
cycle, T4, the device disconnects itself
from the data lines and disables all of
its control signals, returning to a quies¬
cent state. For a read, the CPU recon-
Lattice Works
LATTICE ANNOUNCES
MICROSOFT WINDOWS
SUPPORT IN VERSION 3.2
Version 3 -2 of the Lattice MS-DOS
C Compiler features full support for
Microsoft Windows—including the
“far” “near” and “pascal” keywords.
In addition, version 3.2 includes
the ability to generate more than 64K
bytes of static data and to declare
objects larger than 64K bytes. It also
includes improved support for ROM-
based applications via the “const”
data type. Version 3.2 is a significant
release because it eliminates Micro¬
soft’s claimed monopoly on future
MS-DOS C development tools. Now
that the Lattice MS-DOS C Compiler
supports a window interface, pro¬
grammers using Lattice C can avoid
the problems caused by switching
to a different compiler. $500.00
LATTICE NOW OFFERS
ENHANCED AmigaDOS
C COMPILER
Version 31 of the Lattice
AmigaDOS C Compiler offers a new
library with 100 more functions
than the standard AmigaDOS C
Compiler. What’s more, increased
library modularity and new address¬
ing modes help reduce load module
sizes by more than 20%. The new
version also features faster pointer
and integer math, faster IEEE floating
point routines, direct support of the
Lattice
(800)533-3577 In Illinois (312) 858-7950
Amiga’s FFP format floating point
library, and multi-tasking support.
With Version 3.1, Lattice has
broken free of the reliance on the
Amiga standard linker and object
file format. This new release includes
completely new expanded documen¬
tation, and a Lattice assembler and
linker which remain compatible
with previous software but allows
professional programmers to take
advantage of both the Amiga’s speed
and the industry’s standardization.
Lattice AmigaDOS C Compiler with
Lattice’s Text Management Utilities,
$225. Professional AmigaDOS C
Compiler with, Text Management
Utilities, Lattice Make Utility, Lattice
Screen Editor, and the Metadigm
MetaScope Debugger, $375.
AmigaDOS C Compiler $150.
LATTICE RELEASES NEW
VERSIONS OF C CROSS
COMPILER AND LINKER
Version 31 of the Lattice C Cross
Compiler to MS-DOS and version
2.12 of the Plink86Plus Overlay
Linker are now available for Sun and
Apollo workstations as well as the
DEC VAX Family of processors run¬
ning VMS, UNIX or Berkeley UNIX.
All Lattice C Cross Compilers
possess the same functionality and
generate the same code as the native
Lattice MS-DOS C Compiler. This
allows users to take advantage of the
larger systems’ speed and multi-user
capabilities when creating applica¬
tions for most popular PCs.
Contact Lattice Corporate Sales
for details.
TELEX 532253 FAX (312) 858-8473
INTERNATIONAL SALES OFFICES: Benelux: Ines Datacom (32)2-720-51-61
Japan: Lifeboat, Inc. (03)293-4711 England: Roundhill (0672)54675
France: Echosoft (1)4824.54.04 Germany: Pfotenhaur (49)7841/5058
Hong Kong: Prima 85258442525 A,I. Soft Korea, Inc. (02)7836372
Australia: FMS (03) 699-9899 Italy: Lifeboat Associates Italia (02) 46.46.01
CIRCLE NO. 160 ON READER SERVICE CARD
FEBRUARY 1987
133
SPEED INFUSION
At last! - Fast, On-screen
FLOWCHARTS
Finally! An on-screen flowchart proc¬
essor that knows about flowcharts - not
just another “screen draw” program that
makes you do most of the work.
Interactive EasyFlow is a powerful
full-screen graphics program dedicated
to flowcharts and organization charts.
With this program you can quickly com¬
pose charts on the screen. More im¬
portant, you can easily modify charts so
they are always up to date.
Features: • Text is automatically
centered, character by character, within
shapes as you type it • Text formatting
controls allow you to over-ride the auto¬
matic formating where desired • Lines
are created by specifying the starting
and ending points - the program auto¬
matically generates the route • Cut and
paste facility allows arbitrary chart
fragments to be moved, copied rotated,
reflected or sent to/from disk • Shape
insert-delete and row/column insert-
delete • Charts can be up to 417
characters wide by 225 lines high.
Charts too wide for the printer are auto¬
matically printed in strips. • Charts can
be larger than the screen - the window
into the chart scrolls both horizontally
and vertically as necessary • Works
with many popular matrix printers in¬
cluding Epson, IBM graphics printer and
compatibles. Full support for HP
LaserJet and LaserJet Plus. Works with
HP 7475A (& compatible) plotters. Can
be used with ANY printer when non¬
graphic (character) output is acceptable
• All standard flowcharting shapes in¬
cluded • Most shapes supplied in large,
medium and small sizes • Extensive
manual (100+ pages) includes many
examples • Context sensitive “help”
facility provides immediate assistance at
any time • Any number of titles can be
placed on a chart • Commentary text
blocks can be placed anywhere in the
chart • Fast: written in assembly lan¬
guage • Plus many more features than
we can mention here
Requires at least 320K memory, DOS-2
or higher and an IBM or Hercules com¬
patible graphics card. On EGA, full
640x350 resolution is used.
Order direct for only $149.95 + $2.00
S&H (USA/Canada), $10.00 (foreign).
Payment by MO, check, VISA,
MasterCard, COD or Company PO.
Rush orders accepted ($15.00 S&H;
USA/Canada only). Rush orders re¬
ceived by noon will be delivered the next
business day (to most locations).
Order Desk: 1-800-267-0668
The sample screen display shown below is typical of
what you see while editing a chart. Other screen dis¬
plays are provided for entering titles, changing
options, getting “help” and so on.
STATUS BAR (not to be
confused with a wet bar) tells
you what Interactive EasyFlow
is doing at all times.
TEXT/MESSAGE
WINDOW used to enter
user text and to display
messages from Interactive
EasyFlow.
CURRENT SHAPE
WINDOW - shows the
content of the current
flowchart shape (the one
under the SHAPE
CURSOR) in complete
detail.
HavenTree Software Limited
P.O. Box 1093-N
Thousand Island Park, NY 13692
Information: (613)544-6035 ext 48
CHART WINDOW gives an overview of your chart; this
example shows the “normal” view. “Close-up” view shows a
smaller part of the chart in more detail. “Wide-angle” view
shows a larger part of the chart at reduced size.
SHAPE CURSOR shows where you are in
the chart. Cursor keys move it around; chart
window scrolls if you run off the edge of the
window.
CIRCLE NO. 113 ON READER SERVICE CARD
nects itself to the data lines and then
can use the data it finds there.
This four-step process represents a
minimum bus cycle with zero wait
states. Nominally, the time for transfer¬
ring data to or from devices is one
clock cycle; at 4.77 MHz, that time is
210 ns. By no coincidence, the memory
chips in the PC have a cycle time of 200
ns. Actually, the time available for the
transfer is a little longer, because an ad¬
dressed memory chip becomes active
towards the end of T2 and need not
complete the transfer until sometime af¬
ter the start of T4. (Early PCs worked
fine with 250-ns chips; the switch to
200-ns devices was not made out of ne¬
cessity, but because of the increasing
availability of the faster chips. For simi¬
lar reasons, the latest models have the
readily available 150-ns chips.)
If a memory chip or I/O port can¬
not respond quickly enough to transmit
data in the one-and-a-fraction clock cy¬
cles, it can be designed to insert wait
states between T3 and T4. The mecha¬
nism used to insert these is the READY
line of the CPU. During a bus cycle, the
CPU does not enter state T4 unless
READY is high. When a slow device is
selected by the address decoding logic
at T2, it immediately drops READY to
low. The signal is fed to the 8088
through the 8284 to synchronize transi¬
tions in the READY line with clock cy¬
cles. READY has no effect on T3, but
thereafter, the CPU will remain idle—
that is, in a wait state—for each clock
cycle that READY remains low. After
some predetermined number of clock
cycles passes—sufficient to complete
the data transfer—the device raises
READY high, allowing the processor to
advance to T4 to complete the bus cy¬
cle. Figure 3 is a simplified timing dia¬
gram for two bus cycles, one with zero
wait states, the other with two.
The PC was designed with zero
wait states for memory access and one
wait state for I/O port access. This one
wait state is inserted without regard for
the speed of the device being ad¬
dressed because an I/O access cannot
be completed in less than five clock cy¬
cles (1,050 ns at 4.77 MHz). However, a
slow device can insert additional wait
states if necessary. Similarly, a memory
expansion board can be designed to in¬
sert a wait state whenever memory on
that board is accessed. None of the reg¬
ular boards is designed this way, al¬
though some expanded memory boards
do insert wait states.
By comparison, the bus cycle of an
80286 is two clock cycles, but a stan¬
dard AT inserts one wait state into each
134
PC TECH JOURNAL
ALTERNATIVES TO THE BIG RED SWITCH
The hardware design of the IBM PC
omits one feature that typically is part
of every computer: a reset button. The
big red switch at the right rear is not
an appropriate alternate, for reasons
quite apart from its inconvenient loca¬
tion. It takes 10 to 15 seconds after
being switched off for the power sup¬
ply to bring its output to zero volts
before the system will restart. More
importantly, power-downs and power-
ups put undue strain on the electronic
and mechanical components, espe¬
cially hard disks. The Ctrl-Alt-Del key¬
board combination is not adequate
because, as every PC user knows, it
fails at times when a reset is most nec¬
essary—to resurrect a crashed system.
Many PC clock accelerators rectify
this situation by providing a hardware
reset switch. The reset is associated
with the clock circuitry because the
8088 reset signal is controlled by the
8284 clock generator in order to
synchronize it with the processor
clock: the 8088 needs to be at a pre¬
dictable point within a clock cycle
when it is interrupted and restarted.
Ordinarily, the “power good” signal
from the PC power supply is tied to
the 8088’s reset line, making a power¬
down/power-up cycle the only way to
initiate a hardware reset on the PC. As
shown in figure 2 of the article, the
rerouting of the 8284 inputs and out¬
puts in the accelerator circuit allows
rerouting of the 8284’s reset line
(RES) to a switch that performs a
hardware reset (cold boot) without
powering down the system.
The operation of the reset signal
itself is handled carefully within the
PC. The 8088 operates only while the
reset line is low (at logic level 0);
when reset goes high, the processor
stops. On a high-to-low transition of
reset, the CS (code segment) register
is loaded with FFFFH, all the other
registers and flags are cleared to zero,
and execution is resumed. The next
instruction is fetched from the address
pointed to by the CS:IP register pair,
thus causing a jump to location
FFFF:0H. In the PC, that location is in
ROM and contains a jump to the ROM
POST (power-on self-test) routine.
In a stock PC, the 8284 reset in¬
put is connected only to the power-
good signal from the power supply. At
power-up, this signal is initially high
and is pulled low by the power supply
when its output comes up to specifica¬
tion. This causes the processor to be¬
gin executing the POST as soon as the
power supply has stabilized. If the
power should fall outside of specifica¬
tion during operation, the reset line
goes high, stopping the system. When
and if power is restored, the line
again goes low as on power-up. Thus,
a power supply with intermittently
failing regulation circuits can cause
spontaneous reboots.
The keyboard reset is handled
entirely by software, not by switching
the hardware reset line. The BIOS
routine that responds to keyboard in¬
terrupts, when it detects this particular
combination, executes a jump to the
beginning of the POST routine. Before
doing so, it sets a flag in the BIOS
data area; during POST, the value of
this flag determines whether a short
or long memory test is performed. If
the machine was just turned on, the
flag will not have the value (1234H)
set by the keyboard routine, and a
long memory test is executed.
In most cases, the keyboard reset
has the same effect as a hardware re¬
set, except when the system has
crashed, meaning that the processor
has turned off interrupts and is stuck
executing some infinite loop. At such
times, keyboard input is unrecognized
because the keyboard interrupt ser¬
vice routine has no way to gain con¬
trol, examine, or respond to the sig¬
nals sent by the keyboard controller.
But even when a system is up
and running, other situations can hin¬
der a keyboard from producing a re¬
set. The BIOS keyboard routine may
have been replaced by another pro¬
gram installed as a device driver or a
resident utility, and this new program
might take some action other than re¬
set upon detecting the Ctrl-Alt-Del
combination. For example, under
DESQview (by Quarterdeck Office
Systems), a keyboard reset closes only
the current window and does nothing
if no windows are open. Other resi¬
dent programs that perform nonstan¬
dard functions with Ctrl-Alt-Del can
reassign the reset function to some
other combination of keys.
A final subtle difference between
hardware and keyboard resets is that
at the start of the latter, interrupts are
not disabled. A hardware reset, by
contrast, zeroes out all flags, including
the interrupt-enable flag. This is essen¬
tial at power-up, so that interrupts are
held off until the interrupt vector ta¬
ble is initialized and the interrupt ser¬
vice routines are loaded. It is possible,
if not probable, that between the time
Ctrl-Alt-Del is recognized and the
POST gains control (it begins with an
instruction to disable interrupts), a
hardware interrupt diverts control for
some finite time. Even if control even¬
tually reaches the POST, the point is
that the response time to a keyboard
reset cannot be guaranteed.
A hardware reset switch thus of¬
fers the best of all worlds: it is guaran¬
teed to work predictably in all situa¬
tions short of physical failure in the
circuits, and it avoids the stresses of
powering up. But does the switch pro¬
duce a short reboot, like a keyboard
reset does, or a long one, such as at
power-up? The POST performs short
or long diagnostics depending upon
the value it finds in the BIOS reset
flag; at the end of POST, the value is
not changed. Therefore, if the reset
switch is pressed after a keyboard re¬
set, the POST finds the keyboard reset
value in the flag and performs a short
test sequence. If the previous POST
was a long one initiated by power-on,
the next one caused by pressing the
reset switch will take just as long.
To ensure that the reset switch al¬
ways performs a short reboot, the re¬
set flag can be set to the proper value
upon boot-up by a program from the
AUTOEXEC.BAT file. SET1234.COM is
created with DEBUG as follows:
DEBUG SET1234.COM
(Ignore “not found”)
A
MOV AX,40
MOV DS, AX
MOV WORD PTR [72],1234
INT 20
(Press Return)
R CX
D
W
Q
Alternatively, the flag may be set by
running the following BASIC program:
10 DEF SEG = &H40 : POKE &H72,&H1234
Thus, the reset function provided
by clock accelerators is a welcome
fringe benefit to their primary func¬
tion. After using one of these, it is
even more frustrating than usual to
have to reach for that big red switch.
—Ted Mirecki
FEBRUARY 1987
135
SPEED INFUSION
TABLE 1: Features Comparison
AMERICAN
COMPUTER
MAYNARD
ELECTRONICS
MEGAHERTZ
CORPORATION
MICROSPEED
MICROSYNC
MICROWAY
MODEL
American
Turbo
Surprise!
TurboSwitch
Fast88
Screamer
87/88 Turbo
PRICE
$120.00
$249.00
$149.95
$149.00
$199.00
$149.00
MICROPROCESSOR
8088-2
V20
8088-2
8088-2
V20
V20
CLOCK SPEEDS (MHz)
SPEED CHANGE BY
7.37
9.55
5.96 to 8.79
6.14, 6.67, 7.37
6.00, 8.00
6.67, 7.37, 8.00
Switch
•
O
•
•
O'
•
Hot key
O
•
O
O
•
•
Program
O
•
O
O
•
•
RESET SWITCH
•
6
•
•
o
•
CLOCK/CALENDAR
o
o
o
o
•
•
TAKES UP A SLOT
o
o
o
o
•
•
I/O PORTS USED
• = Yes O = No
None
2E8H-2EFH
2C8H-2CFH
None
None
2C0H-2C2H
280H-288H
2A0H-2A4H
While many of the PC compatibles with fully socketed memory can be made to run at speeds up to 8 Mhz, the original IBM PC
contains at least one soldered row of slower memory chips and usually cannot be made to run faster than 6.5 or 7 MHz. At
those speeds, the performance enhancement achieved is not always worth the expense and difficulty of installation.
memory access and at least four wait
states into I/O accesses. At 6 MHz, an
I/O access takes 1,000 ns (6 clock cycles
of 167 ns each), or about the same total
time as an I/O cycle on a PC. This en¬
sures that PC peripherals are usable on
the AT. (The issue of wait states in
80286 memory bus cycles will be cov¬
ered in a subsequent article.)
SWITCHING TO SPEED
Varying the clock frequency and insert¬
ing wait states can be accomplished
only by accelerator boards that contain
more complicated circuitry than the
simple clock replacement arrangement
shown in figure 2. Of the six products
tested here, only the Surprise! board is
sufficiently intricate. The PC Turbo-
Switch and the Screamer switch auto¬
matically to slower clock frequencies
under certain circumstances. The others
take their chances with the pushing of
the PC’s components beyond specifica¬
tion. Most provide a choice of several
clock speeds so that more capable ma¬
chines need not be limited to the low¬
est common denominator.
Table 1 is a features comparison of
the six boards reviewed. Each board
was tested in two different systems. The
first was an IBM PC-2 with 640KB of
memory, a 2MB AST RAMpage! expand¬
ed memory board (384KB of this was
back-filled conventional memory), two
diskette drives, a Seagate ST225 20MB
hard-disk drive with Xebec combination
diskette/hard-disk controller, and an
IBM CGA. Conventional memory con¬
sisted of a mixture of 200-ns and 150-ns
chips; expanded memory was 256K-bit,
150-ns chips. This system’s maximum
clock rate was about 7 MHz; the rate
was not improved by removing the ex¬
panded memory board.
The second system tested was a
PC/XT compatible with 8-MHz turbo ca¬
pability. On this system, the perform¬
ance delivered by the accelerator
boards was less than that from switch¬
ing to its native 8-MHz mode; the pur¬
pose of using it was to test the boards
above 7 MHz. This system also had
640KB of memory (256K- and 64K-bit
chips, all rated at 150 ns), the identical
model of Seagate hard disk (but with a
Western Digital controller), one diskette
drive, an ATI EGA card, and the same
2MB AST RAMpage! (but with no back¬
fill of system board memory).
American Computer and Peripheral. The
American Turbo is the smallest board in
the group and the simplest in design. It
comes with a replacement 8088 rated at
8 MHz, a switch box containing a speed
switch and reset button, and a DIP
(dual in-line package) socket intended
to be soldered onto the motherboard in
case the 8284 is not already socketed.
This component turns out to be indis-
pensible even if the 8284 is removable.
The board itself plugs into the
socket vacated by the 8284 chip. Care
must be taken to line up the pins on
the underside of the board with the
holes in the socket; even so, the pins
are a tight fit. They would not enter the
socket when pushed, even with an
amount of force sufficient to put an
alarming bend in the motherboard.
Stressing a multilayer board in such a
way can break a trace in one of the in¬
terior layers, which is enough to ruin
the board. This is where the extra
socket comes in handy. It is plugged
onto the underside of the turbo board,
and that assembly is plugged into the
motherboard socket. Besides making in¬
sertion much easier, this yields the ad¬
ditional benefit of raising the Turbo
board above the motherboard compo¬
nents adjacent to the 8284 socket, thus
allowing unrestricted airflow for cool¬
ing. This use of the extra socket is not
mentioned in the instructions.
Once the board is mounted, the
rest of the installation goes smoothly.
The reset and speed switches are of
good quality and mounted in a heavy-
gauge, black metal box that bolts to the
outside of the back panel next to the
power switch. The cable connecting the
switches to the board is keyed to pre¬
vent plugging it in backwards.
A major disadvantage of the Ameri¬
can Turbo is that it has only one clock
speed, 7.37 MHz. This is too fast for
most 200-ns memory chips; in fact, the
board would not work in the IBM sys¬
tem. The documentation plainly states
that memory chips must be rated at
least at 150 ns, and that, if used, an
8087 numeric coprocessor must be
rated at 8 MHz. But this information
should be on the outside of the box. As
it is, the only warning on the exterior is
that installation requires the removal of
136
PC TECH JOURNAL
Save 50% on PC TECH JOURNAL
A nd Sharpen Your Visum on Technical Issues
TECH
JOURNAL
13 times a year, PC TECH JOURNAL focuses on the technical
what-if’s and how-to’s that face you every day in your job. Your
subscription includes the PC TECH JOURNAL DIRECTORY
issue, our 13th issue published in November, your reference to
the articles and products covered in PC TECH JOURNAL!
Yes! I want to subscribe to PC TECH JOURNAL for the term
indicated:
Name_
4S689
I I One year (13 issues) only
1 — 1 $26.70. 50% OFF the
annual single-copy
price of $53.35.
I I Two years (26 issues) only
— $53-35. SAVE 50%!
Company.
Address_
City_
State
-Zip.
□ Payment enclosed □ Bill me later
FREE WITH YOUR PAID SUBSCRIPTION! The PC TECH
JOURNAL DATA MANAGER REVIEW, a special report covering
7 leading Data Managers, with benchmark tests and evaluations!
Please allow up to 60 days for delivery of first issue. Add $8 per year for postage in Canada and all foreign countries. US. Currency only, basic
annual subscription price is 134.97.
NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
BUSINESS REPLY MAIL
FIRST CLASS PERMIT NO. 66 BOULDER COLORADO
POSTAGE WILL BE PAID BY ADDRESSEE
TBSH
OURNAL
' P.O.BOX 52077
BOULDER, CO 80321-2077
...I
IKE SOURCE
FOR AH IBM
PC EXPERTS.
There's one place to
find the information
about the sophisti¬
cated applications
and products you need
at your work place.
PC TECH JOURNAL
It's the magazine
that brings you the in-
depth coverage
about the products
and issues you have
to know more about
13 times a year!
Guarantee delivery
of the technical infor¬
mation and insights
the systems experts of
PC TECH JOURNAL
deliver issue after
issue and save 50 %!
: TBS"! P.O. Box 2996
JOURNAL Boulder, CO 80322
YES Send me PC TECH JOURNAL for:
□ One year (13 issues) only
$26.70.
□ Two years for only $53.35.
SAVE 50%!
Savings based on annual single-copy price
of $53.35.
Mr./Mrs./Ms._
Company_
Address_
City _
_ State.
Zip
□ Bill me □ Payment enclosed
Add $6 per year for postage outside USA,
US currency only. Please allow up to 60
days for delivery of first issue.
Annual basic subscription price is $34.97.
For faster service call Toll-Free
1-800-852-5200 today!
Your subscription includes the Special
PC TECH JOURNAL Directory published
in November! 4Z 62
PROTECT
YOUR COPIES
OF
OURNA
Make your collection of PC TECH
JOURNAL a handsome addition
to your office or home—and pro¬
tect and organize them for easy
reference!
PC Tech Journal Magazine
Binders and cases are made of
durable luxury-look leatherette
over quality binder board. Custom
designed for PC TECH JOURNAL,
every order receives FREE transfer
foil to mark dates and volume
numbers.
FOR FAST SERVICE CALL
TOLL-FREE 1-800-972-5858
MAGAZINE BINDERS
Hold your
issues on
individual
snap-on
rods. $8.95
each; 3 for
$25.75; 6 for $48.75.
OPEN BACK
CASES
Store your copies for
individual reference. $795
each; 3 for $22.95; 6 for $43.95,
EH P.O. Box 5120
OURNAL Philadelphia, PA 19141
Please send □ Binders □ Cases Quantity_
Payment endosed $_* Add $1 per order for
postage & handling. (Outside USA, add $2.50 per unit
ordered, US currency only.)
Charge my:
□ Amex □ Visa □ MC (Minimum order $10.)
Card No._
_Exp. Date_
Mr./Mrs./Ms._
Address_
City_
please print full m
State_
*PA residents add 6% sales tax.
-Zip-
Read what they’re saying about
this new concept in prototyping
and demo-making:
“A winner right out of the
starting gate. After you use
DEMO once, you’ll wonder how
you got along without it.”
— PC Magazine, 4/29/86
“Everybody who writes
software, either commercially
or for in-house applications,
should immediately order a
copy. Period. No exceptions.”
— Soft‘letter, 4/20/86
“Its low price, superb
performance, and range of
applications practically
guarantee that it will be widely
used. Four Floppy Rating (8.0)”
- InfoWorld, 3/31/86
“Apparently has a hit on its
hands with... a development
tool for personal computer
software that has won rave
reviews from early users.”
— Computerworld, 4/7/86
“A gem.”
— PC Week, 3/18/86
Product of the Month
— PC Tech Journal, 3/86
Montn g*
Thousands of developers are de¬
signing better products faster and
producing more effective demon¬
strations using Dan Bricklin’s Demo
Program. You can, too. Act now!
■ ONLY $74.95
S£ 617-332-2240
Massachusetts residents add $3.75. Outside of the
U.S.A. add $15.00.
Requires 256k IBM PC/compatible, DOS 2.0 or
later. Supports Monochrome, Color/graphics, and
EGA Adaptors (text mode only).
SOFTWARE
GARDEN
Dept. T-2
P.O. Box 373, Newton Highlands, MA 02161
CIRCLE 142 ON READER SERVICE CARD
PC TECH JOURNAL
137
AT performance
atanXTprice.
Introducing fheTeleCAT-286.
$2995.Complete.
With TeleVideo, you
always settle for more.
For some time, you've known exactly
what kind of PC you could get with
a mid-range budget.
But now, you can settle for a whole
lot more. With the new TeleCAT-286;
from TeleVideo.
It starts you off with everything you
need. Including a high-resolution
640x400 monitor. 512K RAM.
A 20MB hard disk. A 1.2MB floppy.
And an Intel 80286 CPU that runs
at either 6 or 8 MHz. All standard.
To make even better use of internal
space, we socketed the TeleCAT-286
for one MB of RAM, and also included
serial and parallel ports on the
motherboard. As a result, we can still
give you three extra expansion slots.
And we didn't stop there. We've also
designed more ergonomic features
into theTeleCAT-286. Including
sculptured keycaps on a high-quality
keyboard. LEDs right on top of the
three critical locking keys, where
they won't get covered up by over¬
lays. And a footprint that’s 28%
smaller than the IBM AT's. So you get
more of your desk back, too.
There’s a lot more we could say
about the TeleCAT-286. But it’s even
better to get your hands on it. So
call (800) TELECAT, Dept. 359, and
we'll tell you where you can try one.
The TeleCAT-286. Our 20MB
version is S2995; 30MB, S3495.
For high performance at a low
price, don't settle for less.
TfeleVideo
Settle for more.
TeleVideo Systems, Inc. 1170 Morse Avenue, Sunnyvale, CA 94088-3568 (408) 745-7760
IBM is a registered trademark of International Business Machines, Inc. © 1986 TeleVideo Systems, Inc.
CIRCLE NO. 182 ON READER SERVICE CARD
SPEED INFUSION
the 8284 chip. True enough, but not a
complete indication of the require¬
ments for successful operation.
The results obtained with the
American Turbo are consistent with its
clock rate. The reset switch performed
reliably, permitting the speed to be
switched between high and normal at
any time. The speed at boot-up can be
set at either high or low using the
turbo switch on the black box.
For the most part, the installation
instructions are clear. The 20-page man¬
ual contains many diagrams and photo¬
graphs, but its presentation is marred
by numerous typographical errors that
are present. Furthermore, the documen¬
tation is missing any mention of the
company’s address or telephone num¬
ber (the simple fact that it should be
there aside, American Computer and
Peripheral offers a service to desolder
the 8284 and install it in a socket).
The American Turbo leaves a
mixed impression. In systems that can
run at its one speed, it works fine. But
with other boards offering multiple
speeds at similar prices, little is left to
recommend this one.
Maynard Electronics. The Surprise! board
offers the easiest installation of the
group. Following removal of the 8088, a
special carrier is plugged into the mi¬
croprocessor socket. This carrier is eas¬
ier to install than a replacement chip
because its pins are sturdier and al¬
ready at the proper spacing. In addition,
it is symmetrical, for installation in ei¬
ther direction. Once in, the carrier
turns the processor socket into a short
slot with 40 pins instead of 62. The Sur¬
prise! then plugs into this slot like an
expansion card (but in one direction
only). This ease of installation comes at
a price, however; the Surprise! falls at
the top end of the price scale and at the
bottom end of the performance scale
among these competitors.
The Surprise! board incorporates a
V20 that, strangely, is soldered, not
socketed. The processor runs at 9.54
MHz, or exactly twice the normal rate.
This speed is obtained by a frequency¬
doubling circuit that takes its input
from the original 4.77-MHz processor
clock. However, only the supplied mi¬
croprocessor can run at this speed. To
synchronize it with the slower mother¬
board components, the Surprise! adds
two or three wait states per bus cycle.
The net effect is about the same as that
of a simple clock accelerator running at
6 to 6.5 MHz—but the Surprise! costs
twice as much as the others.
The speed at boot-up is controlled
by a jumper on the board. Subse¬
quently, speeds can be changed by run¬
ning a transient program, or, if the sup¬
plied SURPRISE.SYS device driver has
been installed through CONFIG.SYS, via
a hot-key combination. On a keyboard
reset, the system reboots at the speed
last in effect, not at the speed indicated
by the jumper. Surprise! provides no
hardware reset capability.
SURPRISE.SYS can do more than
simply switch speeds. It also improves
the speed of several functions by re¬
placing some DOS routines. Its effect is
especially noticeable in writing to a
CGA screen; and display-bound func¬
tions, such as the DOS DIR command,
are remarkably faster. Its impact on
compute-bound programs or programs
that bypass DOS is barely discernable.
This driver effects these changes by
repointing both the interrupt 20H (pro¬
gram terminate) and interrupt 21H
(DOS function) vectors. Interrupt 20H
normally points to IBMDOS.COM, and
is interrogated by many programs to
determine the segment location of
DOS. With SURPRISE.SYS installed,
these programs will cease to work.
Do You Ever Get the Feeling
That No One Speaks Your Language?
Arity/Prolog.
The Language That Spans the Generation Gap.
Arity listens to what you ask for. You want a serious, versatile
language that will go the distance for you. There are two very
good reasons for you to use Prolog —to do your work smarter
and faster. That's exactly what the Arity/Prolog development
environment will help you do. Our powerful tools, based on
the general purpose programming language Prolog, will signif¬
icantly reduce your development time and allow you to solve a
wide range of application problems.
No translation required Our development environment for
the IBM PC family and am MS-DOS compatibles includes the
Arity/Prolog Compiler and Interpreter, the Arity/Expert Sys¬
tem, and Arity/SQL. And you can tie them all together. You
can interface with several other programming languages and
build extensions to your existing applications. You'll be truly
multilingual —what better way to span the generation gap?
i r
It can take you to new places You'll discover amazing speed,
power, and flexibility using the Arity/Prolog programming
environment, with its one gigabyte of virtual memory and
fast, compact compiled code, for conventional applications.
And if you're working in new territories, like expert systems or
sophisticated database management systems, you'll be speak¬
ing the native tongue.
Speak it freely Our products are not copy protected and we
charge no royalties, so you can use them in as many end-user
applications as you'd like. Why keep the language of solutions
all to yourself?
Join the thousands of assembly and C programmers who
already use Arity/Prolog — the language of solutions.
Call 1-800-PC-ARITY Today.
Masschusetts residents call 617-371-1243.
Software that roars.
ARITY CORPORATION
30 Domino Drive, Concord, MA 01742 U.S.A.
1-800-722-7489 or in Massachusetts call 617-371-1243
CIRCLE NO. 136 ON READER SERVICE CARD
FEBRUARY 1987
139
SPEED INFUSION
NEW AND IMPROVED
Version 2
DlfaDATa
The
Only
Disassembler
That
Tracks
Down
DATA!
9
• Fully disassembles both .EXE
and .COM files!
• Flow- and Seg. Reg. Data-trace
finds SEGs, PROCs, & Data
Areas!
• Outputs SEGMENT & PROC
pseudo-ops at proper places.
• Outputs data areas via proper
form of DB/DW (ASCII text as
strings, others as hex value).
• Labels both code & data. Labels
of form ‘Hxxxxx’ where ‘xxxxx’ is
hex offset from beginning of
program.
NEW! ~
• User may easily input locations
of multiple pgm. areas (if reqd.).
• 8086/88/186/286 op-codes,
(VeaT addressing mode).
• DOS function calls commented
to show operation performed.
• Output format fully compatible
with IBMVMicrosoft**
assembler input.
• For IBM* PC*/XT*/AT* & com¬
patibles, 128K+, DOS 2.0+.
#8634-22 PC-DISnDATa 2.0
( 5 V 4 " disk & manual) . $165
U.S. Funds only, drawn on a U.S. bank.
Add $3 shipping (U.S. & Canada), $10
(overseas air) per item. Ohio residents
please add local sales tax.
•Registered trademark. IBM Corporation.
**Registered trademark, Mic rosoft Corp.
To order, phone (513) 435-4480 (M-F,
9a.m.-5p.m., EST), or send check, money
order, or VISA/MasterCard information
(name, street address (No P.O. box please)
card number, expiration date, and your
telephone number) to:
PRO/AM SOFTWARE
I 220 Cardigan Road
| Centerville, OH 45459
(513) 435-4480
Software
Professional Software for
both Novice and Expert
One reason for knowing the DOS
segment is to find the print echo
switch, which is toggled by Ctrl-PrtSc
and Ctrl-P. SURPRISE.SYS seems to lose
track of this switch, causing print echo
to behave erratically. Print echo can be
turned on at either clock speed, but it
can be turned off only at slow; once
turned on (at either speed), it remains
on at high speed at all times. (The May¬
nard technical support personnel ac¬
knowledged only that printing does not
work properly at high speed because of
“timing loops” within the print control
routines. It was suggested that the user
switch to low speed whenever print
echo is desired. No problem occurred
with printing itself at high speed, only
with recognizing when the DOS print
echo switch had been turned off.)
Another problem with the Surprise!
is that it fails to recognize an 8087. The
documentation states that the Surprise!
uses the 8087 at low speed, but not at
high. In fact, with this board installed,
Lotus 1-2-3, Microsoft C, and Lattice C
all refused to acknowledge the pres¬
ence of the 8087 at any speed.
Surprisingly, Maynard claims that in
many applications (spreadsheets specifi¬
cally), a V20 running at 10 MHz can out¬
perform an 8087 running at 5. This is
patently untrue because it implies that
hardware floating-point operations on
the 8087 are less than twice as fast as
software simulation on an 8088 or V20.
Typically, the performance ratio at
equal clock speeds is between 4:1 and
10:1. In the testing that was performed
for this review, a system with a V20 and
8087 running at 4.77 MHz calculated a
1-2-3 spreadsheet about twice as fast as
the Surprise! did at 9.34 MHz. Achieving
half the execution time at half the clock
rate equates to an actual fourfold im¬
provement in the rate of computation
with the use of an 8087.
The documentation is fairly com¬
plete, but it comes in too many pieces:
the installation instructions are on one
sheet, technical information is on an¬
other, and these pieces are in addition
to an assistance booklet, another outlin¬
ing Maynards customer service plan,
and several sheets with the software li¬
cense agreement, registration cards,
product comment forms, and so forth.
One booklet is much preferable.
Ease of installation notwithstanding,
the Surprise! cannot be recommended
because of its interface problems with
DOS and the 8087. Even putting this
aside, the board is overpriced for the
performance improvement it offers.
Megahertz Corporation. The TurboSwitch
board provides not just two or three
higher speeds, but ten, controlled by a
rotary switch that mounts on the front
panel of the system unit. This permits
running the system very close to its
maximum speed and changing the
speed without reinstalling the Turbo-
Switch. As enticing as this may sound,
the problems that arise in the installa¬
tion and operation of this board may
outweigh the advantages of not wasting
some minor portion of speed capability.
This board’s installation is far more
complicated than any of the others.
First, the 8088 is unplugged and re¬
placed with a supplied 8-MHz 8088-2.
Then, the 8284 chip is removed from
the motherboard and plugged into a
socket on the TurboSwitch board (each
of the other accelerators has its own
8284). A ribbon cable connects the
TurboSwitch and the 8284 socket. Only
one end of the cable is marked to pre¬
vent its being plugged in backwards;
the orientation of the other end is spec¬
ified only in the instructions. (In this
particular case, experience with con¬
necting PCB components is not a help,
because the cable is installed contrary
to the standard conventions: the striped
edge does not connect to pin 1.)
Apart from that quirk, the installa¬
tion thus far is quite ordinary. At this
point, however, one of the power con¬
nectors from the power supply must be
removed from the motherboard and
plugged into a receptacle on the Turbo¬
Switch board; a short cable then con¬
nects from the TurboSwitch to the
motherboard power connector. Next,
the A: drive must be unmounted and
slid forward to reveal the direct mem¬
ory access (DMA) chip on the mother¬
board. A spring-loaded grabber clip (of
the type used on the end of test instru¬
ment probes) is connected to one of
the pins of the DMA chip; then the disk
drive must be slid back into place with¬
out dislodging this connection. The
TurboSwitch board is mounted by a
clip to the back panel, hanging above
the 8088 and 8087 sockets.
That is the easy version of the in¬
stallation. For a system with a soldered
8284, five more clip-on connections
must be made to various points on the
motherboard. Worse, the documenta¬
tion for this is literally sketchy, showing
line drawings only of the chips, not
their names. Also note that owners of
compatibles with different component
layouts are simply out of luck.
Hooking leads onto chip pins is
certainly less expensive than paying a
serviceman to mount a socket, but the
added reliability of the latter approach
could be worth the extra expense. In
CIRCLE NO. 252 ON READER SERVICE CARD
PC TECH JOURNAL
Give your system some
Tree Structured Directory
Global Directory Face
Menu^Onl^ace
IdirPlus is the most powerful
and customizable file
management and menuing
system available.
File management
"Right Out of the Box" it
provides the tools to organize and
manage hard disk files beyond the
limitations of DOS and other
system utilities. Th e ldir Plus
Command Library includes all
the "standard" DOS com¬
mands, plus others, (like Tree,
Move & Locate), that make life
managing files even easier. The
Global Directory enables
operations, like erasing all the
BAK files, across the entire hard
disk with a single command. The
system also includes a multi-mode
View/ Editor that you can use to
view or edit any type of file -
(ASCII, Extended ASCII, and
HEX).
With "WONDER" PLUS
Menuing Made Easy
The Menuing System provides
an easy way to set up custom
commands and menus to run
programs and applications.
Develop on line Help for any and
all new commands created.
Beyond Menuing
further customizing features
include:
The ability to select from 8
optional screen displays,
ranging from the simple to the
sophisticated, for the novice to the
expert. Specify one as the default
without compromizing the ability to
change to any of the others at
anytime, when the need arises.
We call these the "Faces of ldir
Plus."
■The ability f w to tailor
each and ^ every
directory to display only
the desired files, sorted the way
you want. You can even use a date
range to display only the files that
have been changed within the
specified period. We call these
"Directory Personalities." In
addition, you have the ability to
specify a different Menu and or
Face to be displayed, when you
change into a directory that has a
"Personality."
Corporate Notes
ldir Plus provides the perfect
environment for PC Managers
setting up systems for a wide
variety of users, ldir Plus is
also a perfect shell for Networks
where different users require
different configurations. System
also includes Password
Protection. Inquire about site
licensing options.
Suggested Retail Price :$119.00 Dealer & Corporate Evaluation P.O. Box 2867 Boise, ID.83701
Ask your Dealer About Special Pricing units available On written request. (208) 342-5849
CIRCLE 124 ON READER SERVICE CARD
SPEED INFUSION
We’ve seen a lot of
Pascals, but this one takes
the blue ribbon. Produces
code smaller and faster
than optimized C
compilers. ISO-
compatible. Supports the
8087 in-line (8087 code
emulation option if you
don’t have the chip). True
relocatable linker allows
access to the Microsoft
family of languages and
assemblers. Four memory
models. Overlays.
Variable-length strings.
Structured constants and
structured function values.
Separate compilation of
modules. Procedural
parameters. Powerful
compile options
(optimization by-pass for
quicker compiles, syntax
evaluator, I/O “fine
tuning”, etc.). Turbo
Pascal Translator brings
your present Borland
programs over to a
ISO/Marshal-readable
format. Watch the
difference it’ll make in
your software’s code size
and speed!
Suggested retail is $189.00.
Our price is $159.00.
FREE OFFER! ABC
WRITER, a powerful
WordStar clone with full
Print/Merge capabilities
FREE with each copy of
Marshal Pascal! Only
while supply lasts.
Call (415) 930-9848-Ask
for our free catalog of
other software.
INNOVATION
COMPUTERS
223 Donegal Way
Martinez, CA 94523
Turbo Pascal is a trademark of Borland
International.
WordStar is a trademark of MicroPro Inc.
Microsoft is a trademark of Microsoft
Corporation.
the course of testing, the connections
slipped off several times, crashing the
system. Furthermore, one of the con¬
necting wires eventually broke off from
its soldered connection on the Turbo-
Switch board. Perhaps the test process
subjected the connections to more pok¬
ing and prodding than would be done
normally in a buttoned-up production
system, but this scheme is definitely not
recommended for a portable machine,
or even for a desktop system that is
moved from time to time.
Yet, installation of this board is still
not complete. The box containing the
speed control and reset switches must
be mounted to the front panel of the
system unit cover using bolts through
the vent slots under the nameplate. An¬
other ribbon cable, this one keyed at
both ends, connects the switch and the
board. With the switch on the cover, the
board on the chassis, and the connect¬
ing cable on the inside, opening and
closing the system unit can become
somewhat complicated.
The switch box contains a ten-posi¬
tion rotary selector for clock speeds
marked from 6.1 to 9.0 MHz, and a tog¬
gle switch that chooses either the nor¬
mal speed of 4.77 MHz or whichever
high speed is set on the selector. A
third, spring-loaded position of the tog¬
gle switch provides a reset function.
Boot-up may be accomplished at either
normal or high speed.
Despite the switch markings, run¬
ning a PC at 9 MHz is wishful thinking
on two counts. First, no 8088-based IBM
PC or compatible system is capable of
that speed. Second, the markings on the
TurboSwitch are somewhat optimistic;
the clock rates measured with a fre¬
quency counter were lower by 3 to 6
percent. The 9-MHz position actually
produced a frequency of 8.7 MHz, but
that is still too fast for either test sys¬
tem. The maximum speed possible with
the IBM system was 7.06 MHz (position
5, marked 7.5). The TurboSwitch could
not be tested at higher speeds because
it would not run at all in the XT-com¬
patible system—there it simply refused
to boot at any setting.
The TurboSwitch uses resistance
capacitance (RC) circuits rather than
quartz crystals to generate frequencies
above 4.77 MHz. The reasoning behind
this choice is obvious: ten crystals
would be much more expensive. How¬
ever, it delivers less precise control and
is more subject to failure than a crystal-
controlled oscillator circuit.
Using its connection to the DMA
chip, the TurboSwitch board can detect
disk I/O and reduce the system speed
for the duration. Therefore, DOS
FORMAT can be run without switching
back to normal speed. Surprisingly, this
board’s performance in the disk-inten¬
sive tests was not significantly better
than that of boards that do not deceler¬
ate during disk access.
The bottom line recommendation
on the Megahertz TurboSwitch is not
overwhelmingly positive. Although it
has no fatal flaws, neither does it offer
any operational advantages to compen¬
sate for the intricacies of installation or
for the shortcuts in design.
Microspeed. To put it simply, the design,
execution performance, and documen¬
tation of the Fast88 is the best in this
field of simple accelerator boards. It
contains three crystals to run at speeds
of 6.14, 6.67, and 7.37 MHz. The manual
says these are meant for systems with
memory chips rated at 250, 200, and
150 ns, respectively. The choice is made
at installation by means of a jumper.
Another jumper enables or disables the
reset button—this is the only board to
carry such an option.
Installation involves replacing the
microprocessor with a supplied 8-MHz
8088-2, removing the 8284, and con¬
necting a ribbon cable between its
socket and the Fast88. The connectors
are not keyed, but the cable is plainly
marked and the instructions are more
than adequate to avoid confusion. The
board itself attaches with screws to the
inside of the back panel, over the
round knockout of a PC or the DB-25
opening of an XT. The mounting
bracket is cleverly designed so that a
telephone-style modular jack on the
board lines up with the opening.
This jack accepts a short length of
cable that connects with a small plastic
box containing the speed switch and a
reset button. The box may be left sitting
on the desktop or attached to the sys¬
tem unit cover with double-sided adhe¬
sive tape, also supplied. The quick-
connect Telco jacks at both ends of the
cable will be appreciated both at instal¬
lation and subsequently whenever the
system unit needs to be opened.
The operation of the Fast88 was as
smooth as the installation. As stated in
the manual, the board could run no fas¬
ter than 6.67 MHz in the IBM system
with 200-ns memory chips; it did run at
7.37 MHz in the XT compatible (with
150-ns chips). Speed switching and re¬
setting worked flawlessly every time.
The Microspeed documentation
also is first-rate material. An exhaustive,
64-page booklet covers not only installa¬
tion, but also the design criteria and
theory of operation. It even has an in-
142
PC TECH JOURNAL
PROFESSIONAL INDUSTRIAL COMPUTERS
LOW PRICED YET HIGH RELIABLE
100% IBM compatible, Phoenix Bios
Technical Data : Professional 286-10
Intel 80286 Microprocessor 8/10 MHZ
• Math coprocessor (80287)
• Seven channel DMA
• 16 level interrupt
• System clock
• Three programmable timers
• 64 kB ROM
• One MB RAM on board
• CMOS RAM for system configeration
• Real time clock
• Battery backup for CMOSRAM
• Eight slots
• Two parallel printerports
• One serial port
• Floppy drive 1.2 MB
• Rugged hard disk drive 20 MB/30MB
• Enhanced graphics adapter 720 x 350/16 (64) colors
• EGA compatible high resolution monitor
• Membrane type keyboard IBM-AT compatible, 98 keys
• Without floppy drive
• With two floppy drives
• 3.5 inch disk drives available
• uninterruptable power supply
• Bubble memory
• Custom designed hardware add ons
• Special analog preamplifiers
• Power amplifier outputs
• Telephone modem for service
• LAN’s available
• Air conditioning
Runs with MS-DOS 3.1 or higher and can handle all software products available for PC/AT systems
• Energy Management
• Laboratory automation
• Pressure Measurement
• Flow Measurement
• Level monitoring and control
• Product testing
• Data logging
» Process Control
• Servocontrol
• Robotics
• Chromatography
• Signal Analysis
• FFT
• Vibration Analysis
• Transient Analysis
• Your special application
12-bit to 14-bit AD/DA cards designed for industrial applications with 1/0 lines,
frequency counters and individual preamplifiers per channel are available.
KORROS-DATA delivers turnkey projects
KORROS-DATA of America Inc
797 San Antonio Road
Palo Alto, CA 94303
Tel. (415) 858 2866
TLX 33-4959 APTECH PLA
Circle No. 226 on Reader Service Card
Registered Trademark: IBM-International Business Machines Corp.
SPEED INFUSION
dex—an unheard-of luxury in instruc¬
tion manuals of this type.
The Fast88 is a superior product,
the choice by far in this field. The only
possible improvement would be to sub¬
stitute a V20 processor for the 8088-2.
But even as it was tested, the Fast88’s
cost/performance ratio is the best, espe¬
cially if cost takes into account not only
money, but also that other scarce
resource, expansion slots.
Microsync. The Screamer is a short-slot
board that fits into an expansion slot.
With this full access to the system bus,
it can adapt itself better to the capabili¬
ties of the system and exert some con¬
trol over the system’s timing. A battery-
backed clock/calendar is included, but
unlike most devices that are used only
to set the system clock at boot-up, this
one plays a significant role in the
board’s operation. Despite a complex
and convoluted design, the Screamer
turns in very ordinary results, and it has
one very serious failing.
Installation itself is fairly straight¬
forward. The board may be plugged
into either of the two rightmost slots; a
ADVANTAGE C+ +
Brings the power of C+ + to your PC.
• Opens the door to object-oriented programming
• Allows programs with greater resilience, fewer bugs
• Fully compatible with existing C programs
• All the benefits of C without its limitations
ADVANTAGE Link
Everything you've always wanted in a PC-DOS linker.
• The fastest, most powerful PC-DOS linker available
• The first linker to take full advantage of extended memory
• Accepts Microsoft and Phoenix command files
• Supports up to 53 commands—more than any other linker
• Compatible with Microsoft CodeView
ADVANTAGE LIBRARY SERIES
TimeSlicer
Multi-tasking library streamlines C programming.
• Perform concurrent tasks and real-time event processing
• Includes higher files for both C and assembly language and
example programs with source code
• Compatible with C++ and object-oriented programming
• Critical resource management assured
To order or to obtain complete specification sheets, call:
1-800-847-7078 In NY: 914-332-1875
55 South Broadway
Tarrytown, NY 10591
UEEDQAT
The Full-Service Source for Programming Software.
CIRCLE NO. 173 ON READER SERVICE CARD
switch must be set if it is installed in
slot 8 of an XT. The system’s original
microprocessor is unplugged and re¬
placed with a V20. The 8284 is removed
from its socket, then a special socket
with some of the pins removed is
plugged in its place, and the 8284 is
plugged into that. The connection be¬
tween the board and the 8284 is made
by means of a single wire terminated
with a clip that snaps over the clock
chip. The final step is the running of an
installation program and the setting of
the Screamer’s DIP switches according
to an on-screen diagram. The switch
settings can be changed while the sys¬
tem remains powered; the purpose of
these switches becomes clear upon ex¬
amination of the board’s design.
The Screamer generates three
clock frequencies: 4.77, 6.0, and 8.0
MHz. At any given instant, the clock rate
will vary according to the capabilities of
the components being accessed. For
processor-only operations, the 8-MHz
rate is used; for other activities, the rate
is controlled on a cycle-by-cycle basis.
This has the effect of “stretching” por¬
tions of a bus cycle without using wait
states. During a bus cycle that reads or
writes slow memory, only two of the
four clock cycles are lengthened.
On the surface, this scheme seems
preferable to inserting wait states. At a
clock rate of 8 MHz, a bus cycle with a
single wait state lasts 625 ns (five clock
cycles of 125 ns each), while a four-
clock cycle with two clock cycles at 125
ns and two at 167 (the clock period at 6
MHz) lasts only 584 ns. But in practice,
lengthening cycles exacts more of a
penalty than inserting wait states. This is
so because the 8088 and V20 processors
perform two activities at once: prefetch¬
ing of instructions and execution.
Most of the time, while a bus cycle
is in progress, the processor’s execution
unit is busy crunching an instruction
fetched on a previous bus cycle. If the
clock cycle is lengthened, fetching and
execution are slowed down together.
On the other hand, inserting a wait
state slows down only the bus interface
unit, while the execution unit continues
to move along at full speed, provided
that it has a prefetched instruction to
work on. In fact, a single wait state in a
bus cycle exacts no penalty whatsoever
if the currently executing instruction
takes five or more clock cycles; two
wait states have no effect during execu¬
tion of an instruction of six or more
clock cycles, and so on.
The Screamer’s installation pro¬
gram tests the DMA channels and each
portion of memory and attempts to de-
144
PC TECH JOURNAL
FORTRAN.
_
II 1
Microsoft 3.31
99,300 i
_
i
in
1 1
Lahey 2.0 89,700 |
Mill TT
* Single precision. Run c
This is the one.
Whatever the yardstick,
RM/FORTRAN™ blows
the others away.
Sieve? RM/FORTRAN
runs 26% to 228%
faster.
Whetstones?
RM/FORTRAN is
20% to 33% better.
And those aren’t our
benchmarks. They’re the
industry standards.
With RM/FORTRAN, ’
you can actually feel the
difference in the seat of your pants . . . because
you’ll do less sitting and waiting for those
big, complex mainframe programs to run on
your micro. In fact, an ARPANET Bulletin
Board user said, “. . . for serious conversion
work of mainframe Fortran code, use the
Ryan-McFarland ...”
RM/FORTRAN is also the first and only PC
Fortran GSA certified at Full Level ANSI 77
with no discrepancies. So programs move effort¬
lessly from your mainframe to a PC, XT, AT or
compatible. And they also port to 68000-based
systems or new 80386 machines. Ifou may already
be using version 1.0 under the name “IBM PC
Professional Fortran by Ryan-McFarland.”
RM/FORTRAN comes with popular
extensions from "VAX, VS and Fortran 66. That’s
more mainline mainframe extensions than any
other micro Fortran.
And there’s more. PC TECH Journal, for
IBM PC/AT (6 MHz) with 80287, PC-DOS 3.2.
T
example, said our
“compiler’s documentation,
ease of use, speed of
execution, and debugging
facilities place it first for
recommendation. ”
But why spend any
more time reading when
you should be filling out
the coupon and getting
your free “RM/FORTRAN
Ibols, Utilities and
g \—_ Applications Directory” and
gN sample benchmark programs to
\ run on your own PC.
/ Remember, if it isn’t
J RM/FORTRAN, it’s just a
- Fortran also-ran.
Ryan-McFarland
609 Deep Valley Drive
Rolling Hills Estates, CA 90274
or call 213-541-4828
RVAN-McFARUAND
g^Knock me out. Send me the benchmark pc '^i
| programs and the free Applications Directory.
I
Name
Company
Title
Street
City
State
Zip
» Phone (
■ Ml
CIRCLE NO. 137 ON READER SERVICE CARD
Add RealCICS M to REALIA" COBOL
and your online applications are free to travel to the PC. With RealCICS,
you don’t have to work nights to get the test time you need. You don’t
have to buy an XT- or AT-370. You don’t even have to revise the definition tables.
Realia’s well-known IBM compatibility makes upload/download easy. But
compiled under REALLA COBOL, your CICS applications will run so fast on the PC
that you may not want to send them back to the mainframe for production. In
fact, one user just put a mainframe application on a bunch
of portables and sent them on the road.
RealCICS is the ticket. Call us.
DEAIU
10 South Riverside Plaza, Chicago IL 60606
Telex 332979 / Phone (312) 346-0642
CIKC'l i D2 ON KF ADI K SF'RYICT. C \KI)
SPEED INFUSION
termine the maximum speed at which
each will operate. Because it sits in a
slot, the Screamer has access to the ad¬
dress bus and can vary the clock rate
depending upon the segment being ad¬
dressed at each cycle. Memory is tested
in 128KB increments all the way
through the 1MB address space, includ¬
ing video memory, any expanded mem¬
ory page frames, and ROM. At the com¬
pletion of testing, the program graphi¬
cally displays the switch settings.
Instructions for setting switches are
also given in detail in the documenta¬
tion. This is fortunate because the test
program is not wholly reliable, and its
recommendations do not always work.
For example, on the PC test system with
200-ns RAM chips, the test procedure
specified switch settings for a constant
8-MHz clock rate to all of memory. But
with these settings, the system crashed
whenever it was switched into high
speed. The board ran well when set for
a 6-MHz rate of memory access.
Another switch controls the boot¬
up speed of the Screamer. Thereafter,
the speed is switched via a supplied
program that can be either resident or
transient. Once the proper switch set¬
tings were determined, no problems
were encountered with switching
among the three speeds.
At high speed, the Screamer’s aver¬
age clock rate, as measured with a fre¬
quency counter, varied between 6.5 and
6.8 MHz, depending upon the activity.
Most of the time, the counter would sta¬
bilize at 6.67 MHz, which is the result
of 60 percent of the clock cycles at 6
MHz and 40 percent at 8 MHz. (The
average frequency is obtained by aver¬
aging not the 6 and 8, but the periods
of 167 and 125 ns.) The benchmark re¬
sults are almost identical to those ob¬
tained with boards that were running at
a constant 6.7 MHz without any of this
complexity with the clock.
However, the most serious flaw in
the Screamer’s design is the fact that it
does not provide the standard timer in¬
put frequency of 1.1932 MHz. Because
only one original 8284 is present, the
processor clock and timer signals can¬
not be separated, and the 8253 timer
chip receives one-quarter of whatever
frequency is being fed to the micropro¬
cessor. In the Screamer, this can vary
from cycle to cycle, thus the timer does
not have a constant time base. The
video synchronization, however, is unaf¬
fected, because the 14.3-MHz oscillator
from the original crystal continues to be
fed to the expansion slots.
To salvage the time-of-day capabil¬
ity, an installable device driver replaces
FEBRUARY 1987
the DOS clock device and maintains the
correct time despite the variations in
the timer frequency. However, this does
not fully duplicate the standard clock fa¬
cilities because the correct time is
maintained only by the Screamer’s on¬
board clock/calendar and is available
only through DOS. The timer words in
the BIOS data area do not reflect the
true time of day, nor are they updated
at the actual time rate. Thus, processes
that measure elapsed time by reading
the timer words (or, for more resolu¬
tion, the timer registers) directly will
not obtain the correct values. Further,
the frequencies of sounds produced by
the speaker are very different.
IBM has made a commitment to
maintain a fixed timer input frequency
in all members of the PC family. Micro¬
sync’s disregard of this standard is un¬
warranted. Providing a substitute date
and time driver is not sufficient, be¬
cause the timer frequency has other
uses. For compatibility across the PC
line, programs should take time-critical
information from the timer, and the
most efficient way of doing that is not
A Contradiction!
Running Under PC DOS
>750 million bytes formatted in two volumes for the "Eagle"
(one volume/drive)...M2361A can hold 552MB/volume...data transfer
rate up to 2.4MB/sec....data access time - 18ms/drive...variable interleave
capability...partitioning possible...drives built to mainframe specifications
with mainframe reliability...greater than 20,000 hours MTBF.
For further information contact:
Upper Bound Micro
18 Elizabeth Street, W. Conshohocken, PA 19428
(215) 825-0505 FAX (215) 828-8618
The "Eagle" is a trademark of Fujitsu America, Inc.
PC DOS is a trademark of IBM.
CIRCLE NO. 169 ON READER SERVICE CARD
147
SPEED INFUSION
through DOS, but directly from the
BIOS or timer words, or from the tim¬
er’s registers. With the Screamer in¬
stalled, the timer becomes useless. It is
primarily for this reason that the
Screamer is not a recommended prod¬
uct. Even so, the cost and complexity of
this accelerator are not justified by the
performance it delivers.
MicroWay. Although the 87/88 Turbo is a
short-slot board that plugs into an ex¬
pansion slot, it is basically the same
type of clock accelerator as the other
no-slot boards. It runs an 8088 or V20
in the original motherboard socket and
feeds its higher-speed clock signals
through the original 8284 socket on the
motherboard. However, with full access
to the bus, this board can do some
tasks the others cannot, such as switch¬
ing speeds with software and automati¬
cally slowing down for disk access. In
addition, it includes a battery-powered
clock/calendar for setting the system
clock on power-up.
The 87/88 Turbo comes with an
8-MHz V20 and three crystals that gen¬
erate frequencies of 6.67, 7.37, and 8.0
MHz. The crystal for the slowest of
these is soldered to the board; one of
the other two is to be plugged into a
socket. Then, a jumper is set to choose
one of the two remaining frequencies
as the turbo speed. The choice of 6.67,
7.37, or 8 MHz can be made only at in¬
stallation, not during operation. It
would have been much clearer, there¬
fore, to provide only one method of
choosing—either by a jumper that se¬
lects one of three premounted crystals,
or by plugging one of three into the
board. The purpose of providing three
clock speeds is, of course, to allow tai¬
loring the speed to the capabilities of a
particular machine, but there seems to
be no overwhelming reason to have
two crystals, rather than one or three,
mounted on the board.
The socketed crystal does offer one
option not available with the other
boards. For a system that can run faster
than 6.67 MHz but cannot manage 7.37,
the user can purchase and plug in a
crystal for some intermediate speed.
The crystal frequency needs to be three
times the desired clock rate; for exam¬
ple, a 21-MHz crystal is needed for a
clock rate of 7 MHz.
The documentation for this board,
consisting of five 8^-by-ll-inch sheets
of paper, contains installation instruc¬
tions that are a model of conciseness
and clarity. MicroWay has always tar¬
geted its products to the more experi¬
enced PC user, for whom it is a pleas¬
ure to be spared the tedium of yet an-
Complete Communications for
Programmers & Engineers for $95
Turn Your PC or AT into a
Communicating Workstation
ZAP gives you all the communications fea¬
tures you need, plus emulation of graphics and
smart terminals. And at a reasonable price!
You can use the full capabilities of almost any
computer — a mainframe, mini, or just using
a BBS . . . unattended. Accessing existing
data shouldn’t cost you a lot of money.
ZAP is the most versatile ~~
communications package you —
could ask for. I communicate ~
with a number of mainframe and mini systems
and use ZAP to download everything. It is very
easy to use.
I’ve bought 4 communications packages.
All cost more, and none come close to ZAP’s
performance. ZAP is now the only package I
use. — Larry Cole, President
PC Powerware Corp., Chicago, IL
ZAP is a phenomenal product at a very reasona¬
ble price. To think I was ready to settle for
VTI00 emulation for $195!
— Hank Streeter, Owner
Integrated Software Development, Houston, TX
Requires an IBM PC or close
compatible and 128K RAM.
’ L/U WlllUil 1
ZAP
VT100, 102, TEK 4010/14 ...
It’s all Here
Emulate TEKtronix 4010/14 and DEC VT
100, 102, 52 including variable rows and
columns, windows, full graphics, more.
Reliable file transfer to/from any mainframes
and PCs including KERMIT and XMODEM
protocols (plus a full copy of KERMIT).
50-38,400 BAUD transfer speeds.
D ownlo ad and fully automated logon with
Macro and Installation files
(scripts)
EM ACS, EDT and VI
“Script” files are included. ZAP also supports
products like DISSPLA and SAS/GRAPH.
Configurable to the communications and
terminal features on the “other end”; 1, 2
stop bits; 5, 6, 7, or 8 data bits; parity of
odd, even, none, mark and space; remap
most keys including the numeric pad. Set
any screen size your hardware supports.
DOS shell for full PC/MSDOS access.
Supports 9 Comm ports and the IBM
Monochrome, color, EGA, or Hercules
Monochrome cards.
Call 800-821-2492 to order ZAP
risk-free for only $95
.Solution
Systems™
335-P Washington St., Norwell, MA 02061 (617) 659-1571
other explanation of how to take off the
system unit cover or what exactly an
AUTOEXEC hie is and how to add lines
to it. But the user who needs this kind
of instruction will find the lack of tech¬
nical information frustrating. The pages
provide absolutely no detail regarding
the board’s theory of operation, the I/O
port addresses used by the clock and
the speed switching hardware, nor any
explanation about the operation of any
of the supplied resident programs. The
port addresses given here were discov¬
ered by disassembling the programs.
The process of installation involves
replacing the 8088 with the V20, insert¬
ing the 87/88 Turbo into a slot, remov¬
ing the 8284, and connecting a ribbon
cable between the board and the va¬
cated socket. The cable is keyed at one
end, and pin 1 is plainly marked on the
other. A push-button reset switch
mounts in the round knockout in the
rear panel; its cable is too short, howev¬
er, to permit mounting in a more acces¬
sible location for the user.
The system always boots up at 4.77
MHz. Thereafter the speed can be
changed in one of three ways: first, by
means of a spring-loaded switch that
protrudes through the mounting bracket
—pressing it down causes the system to
speed up into turbo mode, and vice-
versa (although a minor point, the re¬
verse would have seemed more logi¬
cal); second, by running one of two
programs, LARGO and PRESTO, either
from the DOS prompt or from a batch
file; third, by installing a supplied resi¬
dent utility that performs speed-switch¬
ing via hot keys. However, the key com¬
binations of this last choice seem rather
arbitrary and not mnemonic: Ctrl-Alt-P
for fast speed, Ctrl-Alt-L for slow.
The MicroWay instructions suggest
starting out at the highest speed (8
MHz) and stepping down until the sys¬
tem does not crash upon shifting into
high speed. As stated, the test PC system
would not run faster than 6.67 MHz.
Strangely, the board would not run at 8
MHz in the XT compatible, even though
that machine has built-in capabilities to
operate at that speed.
This suggests that the 87/88 Turbo
makes no concessions to slow system
components, and indeed, it used zero
wait states. But this board gives the user
one element of control not provided by
any of the others: the choice of auto¬
matically switching into slow speed for
all disk accesses. If a resident utility is
installed, slow speed is entered at each
disk I/O interrupt, and the former
speed is reenabled afterwards. Without
this utility, disk I/O proceeds at what-
CIRCLE NO. 129 ON READER SERVICE CARD
PC TECH JOURNAL
SPEED INFUSION
#1 Lint for MS-DOS
microDCF™
Text Workstation
IBM DCF3 Compatible
Text Processing System
For Your PC
• IBM Script language
• IBM GML language
• macro libraries
• symbol support
• multi-pass processing
• high performance
• laser printer support
• table of contents
• back-of-book index
• user-definable languages
• modular print manager
• and much more...
$795.-
Quantity Discounts
Site Licenses
Full Maintenance
TM
Programmer
Workstation
IBM ISPF Compatible
Program Development
Tools For Your PC
• ISPF PDF editor
• dialog manager
• dialog panel editor
• utilities
• multitasking while editing
• directory file selection
• customizable master menu
from $145.-
Arrix Logic Systems Inc.
PO Box 142, Don Mills Stn.
Ontario M3C 2R6, Canada
(416) 292-6425
TELEX 06-986766 TOR
IBM is a registered trademark of International
Business Machines Corp.
CIRCLE NO. 122 ON READER SERVICE CARD
FEBRUARY 1987
ever clock speed is in effect. The other
boards that have the capability of slow¬
ing down for disk I/O do not offer the
option of disabling it.
The MicroWay 87/88 Turbo opera¬
tion was flawless. As its name indicates,
it also works well with an 8-MHz 8087.
The installation instructions are first-
rate, but it has no technical documenta¬
tion. Although it has some minor, but
irritating, design flaws, the product
works as promised, and the price is rea¬
sonable. For systems with no shortage
of slots, and especially for those in
need of a clock, MicroWay’s 87/88
Turbo merits consideration.
GOING FAST ENOUGH
The accelerator boards were examined
with measuring equipment and bench¬
mark programs. Clock frequencies were
measured using a frequency counter.
For the boards with crystal-controlled
oscillators, and for those that doubled
the 4.77 Mhz from the motherboard,
the frequencies were found to agree
with the nominal indicated to better
than 0.1 percent (the output of a crystal
oscillator may be varied over a narrow
range with a trimming capacitor). Only
one board, the Megahertz TurboSwitch,
generates frequencies with less stable
RC circuits. Its output is below the
nominal by as much as 5 percent, and
varies generally by about 1 percent. The
Microsync Screamer also varies, but that
is by design; its two individual frequen¬
cies are derived from a crystal oscillator
and both are steady.
A logic analyzer was used to deter¬
mine the insertion of wait states into
bus cycles. This instrument samples a
number of signals from a system under
test, recording the logic state (zero or
one) of each signal at each clock pulse.
The capacity of the unit used was 4,000
bytes, meaning that 4,000 clock cycles
could be stored with an 8-channel
probe, or 2,000 with a 16-channel
probe. The start of sampling can be
triggered manually or by the occur¬
rence of a particular bit pattern on the
sample lines. At the end of the sampling
interval, the stored data can be dis¬
played on the unit’s screen in binary,
octal, or hexadecimal numbers, or
graphically as timing diagrams similar
to the one shown in figure 3.
Because it ran at a faster clock
speed (9-53 MHz) than the other five
products, the Maynard Surprise! was the
only board found to insert wait states
into the bus cycle. The number of wait
states is at least two, and occasionally
three, for memory cycles, and four to
six when accessing I/O ports.
CBOGS
The professional
diagnostic facility for C
PC-lint lets you zap swarms of C
bugs and glitches at a time.
Now you can uncover the quirks,
inconsistencies, and subtle errors
that infest your C programs . . .
waiting to bite you. PC-lint finds
them all... or as many as you
want... in one pass. Set PC-lint
to match your own style.
Outperforms any lint at any price
■ Full K&R support and
common ANSI enhancements
(even MS keywords)
■ Finds inconsistencies
(especially in function calls
across multiple modules!)
■ Modifiable library descriptions
for 8 popular compilers
■ Super fast,one-pass operation
■ Suppress any error message
■ Zillions of options
PRICE $139 • MC • VISA • COD j
Includes USA shipping and handling, t
Outside USA, add $15. In PA add 6%. \
ORDER TODAY,
30-day guarantee
Runs under MS-DOS 2.0 and up, and
AmigaDOS. Uses all available memory.
Trademarks: PC-lint (Gimpel Software).
MS, MS-DOS (Microsoft). Amiga (Commodore)
149
SPEED INFUSION
The asynchronous changes in the state of READY are brought into synchronization with the system clock by logic within the
8284 clock generator chip. (See figure 1.) Note that the READY line has no effect on the T3 clock cycle.
In designing benchmark programs
to test these accelerators and the more
complex models in future installments,
one factor became immediately ob¬
vious: it is not possible to devise a sin¬
gle numeric measure that rates the rela¬
tive speed of processing under all con¬
ditions. A microprocessor performs
many different functions, and its
throughput can be increased by improv¬
ing the speed or efficiency of several of
these functions in varying degrees. The
effective improvement seen by the user
depends upon the particular mix of
these functions performed by a given
application. The apparent gain in per¬
formance will vary depending upon the
task used to measure that performance.
Therefore, several different bench¬
marks were devised to test performance
under a variety of conditions. With one
exception, these tests are practical ap¬
plications, not artificial sequences of in¬
structions contrived to exercise some
limited aspect of the microprocessor’s
capabilities. The benchmark results are
shown in table 2. Where two speeds are
listed for a board, the lower of the two
was achieved in the PC system de¬
scribed, the higher in the XT compat¬
ible. Note that the American Turbo was
tested only in the compatible because
its one speed was too fast for the PC;
the Megahertz TurboSwitch would not
run in the compatible; and the Maynard
Surprise! ran at the same speed in both.
BUSPERF (written in Lattice C and
assembly language) was the one bench¬
mark designed specifically to determine
low-level timing characteristics (see list¬
ings 1 and 2). It tests the speed with
which systems fetch instructions from
memory and calculates a speed index
relative to a standard PC running at 4.77
MHz. Measuring bus access timing re¬
quires a sequence of instructions for
which the execution time is limited by
the bus; that is, each instruction must
execute in less time than it takes the
bus unit to fetch it. The 8088 requires
at least eight clock cycles to fetch a two-
byte instruction; therefore, any instruc¬
tion that executes in fewer than eight
clock cycles satisfies the requirement
for this test. Ideally, the same test
should be applicable to 80286 ma¬
chines, and the processor should fetch
word-long instructions in a minimum of
two clock cycles. Some two-byte instruc¬
tions do execute in two clock cycles,
namely register-to-register moves.
The high-resolution (better than 1
|xs) timing method required for this test
was developed by Bob Smith and Tom
Puckett (see “Life in the Fast Lane,”
April 1984, p. 62). Basically, the timing
routine counts the pulses on the 1.1932-
MHz timer line (refer to figure 1).
The timing sequence is coded in
straight-line fashion, rather than as a
loop, to prevent the LOOP instruction
from upsetting the balance between ex¬
ecution and fetch times. One other pre¬
caution must be taken: the timed se¬
quence cannot be interrupted by a
hardware interrupt. The obvious way to
avert this is to disable interrupts, but
that still leaves one problem. If the tim¬
er count reaches zero during the test,
the time at the end of the test may be
less than the time at the start. Instead,
the test is made to fit between timer
ticks by delaying the start of the test un¬
til a tick occurs and limiting the instruc¬
tions in the sequence so that they can
be executed in less than the 53 ms be¬
fore the next timer tick.
The primary purpose of BUSPERF
is to complement the logic analyzer in
finding wait states. The analyzer can de¬
termine precisely the number of wait
states and the circumstances when each
occurs, but only in a relatively short
time span of 4,000 clock cycles. If an
event that affects the system’s timing oc¬
curs outside of this interval, it is not re¬
flected in the data stored in the ana¬
lyzer. On the other hand, BUSPERF can
determine average bus access time over
a time period two orders of magnitude
(100 times) longer. In more colloquial
terms, the analyzer might miss the for-
150
PC TECH JOURNAL
TABLE 2: Benchmark Results
IBM AMERICAN MAYNARD MEGAHERTZ
CORPORATION COMPUTER ELECTRONICS CORPORATION MICROSPEED MICROSYNC MICROWAY
MODEL
PC
PC
American
Turbo
Surprise!
TurboSwitch
Fast88
Screamer
87/88 Turbo
MICROPROCESSOR
8088
V20
8088-2
V20
8088-2
8088-2
V20
V20
CLOCK SPEED (MHz) 4.77
4.77
7.37"
9.55
7.06
6.67
7.37"
8.00
6.67
7.37"
CLOCK SPEED RATIO
100
100
155
200
148
140
155
168
140
155
BUSPERF
0.045*
100
159
132
150
142
159
_ c
143
159
ATFLOAT
No 8087
106
124
158
166
151
142
158
174
160
196
With 8087
22
116
158
_ d
151
142
157
159
157
175
ASSEMBLY OF VDISK
34
110
158
148
148
142
156
154
154
172
LOTUS 1-2-3
No 8087
122
103
157
152
147
141
155
161
159
187
With 8087
41
106
153
_ d
149
142
157
157
156
179
dBASE SORT
119
106
146
115
118
115
147
118
119
143
WORD REPAGINATE
50
111
152
156
156
148
170
156
161
192
DOS FORMAT
•
•
O
•
•
O
O
O
O
O
• = Yes O = No
a These results were obtained with the board in a PC/XT-compatible machine (with 8.0-MHz capacity), in order to accommodate the higher clock speed.
b The figures in the first column (from this test down) are times in seconds for the base machine—an IBM PC with a 4.77 MHz 8088. The remainder of the fig¬
ures for the tests (including the second column, which is the base PC with the 8088 replaced by an NEC V20) are percentages relative to the first-column
unit figures (base 100), and represent the increase in PC performance yielded by the accelerator boards.
c BUSPERF relies on the IBM standard timer frequency, which is altered by Screamer.
d Surprise! does not allow the use of the 8087 numeric coprocessor.
The impressive clock rate of the Surprise! does not give a proportional performance improvement. The use of wait states by the
Surprise! brings its performance down to a level comparable to the other products. None of these products provides even twice
the performance of a stock PC, a level considered by many to be the minimum significant performance enhancement.
est for the trees, while the program
alone could be the statistician who
drowned in a lake with an average
depth of two feet.
For an example of how the ana¬
lyzer and the program complement
each other, consider the results ob¬
tained for the Maynard Surprise! The
analyzer indicated that, most of the
time, two wait states were inserted into
memory accesses, with an occasional
bus cycle having three wait states. How
can it be determined if this is the nor¬
mal state of affairs and not an artifact of
the narrow sampling window? Perhaps
in a wider time frame, the cycles with
three wait states are more prevalent,
and those with two are an exception.
Some simple calculations, and the
results of BUSPERF, provide the answer.
At the normal speed of 4.77 MHz and
with zero wait states, a bus cycle takes
four clock cycles of 210 ns, for a total of
840 ns. At 9.55 MHz, the clock period is
105 ns, and a bus cycle with two wait
states (six clock cycles total) takes 630
ns. The ratio of the bus cycle times,
840/630, is 1.33, almost exactly the re¬
sult produced by BUSPERF. Therefore,
it follows that the Surprise! inserts two
wait states into most bus cycles.
However, because of the occur¬
rence of cycles with three wait states,
the average calculated by BUSPERF
should be somewhat higher than the ra¬
tio obtained by the above calculation;
instead it is slightly lower. This differ¬
ence can be explained by the saving in
overhead for DMA refresh cycles.
Under normal circumstances, every
72 clock cycles (15 fxs at 4.77 MHz),
one of the DMA channels performs a
dynamic memory refresh to prevent the
contents of RAM chips from fading
away. The refresh cycle takes five clock
cycles, representing an overhead of 5/72
or 7 percent. The refresh cycles are
triggered by the timer chip (the input
for which is the 1.1932-MHz timer
clock), and a correctly designed acceler¬
ator board does not change this fre¬
quency, so that the refresh interval re¬
mains 15 |xs. But if the processor clock
runs at twice the speed, 144 clock cy¬
cles occur between refresh cycles. With,
for example, three wait states per re¬
fresh cycle, the refresh overhead would
be (5 + 3)/l44 or 5.5 percent. In the
case of the Maynard Surprise! board,
this reduction in refresh overhead ap¬
proximately offsets the occasional inser¬
tion of a third wait state.
Because the results reported by
BUSPERF depend on a constant timer
frequency, this test could not be run on
the Screamer. With that board, the
timer frequency changed along with the
processor clock, so the relative speeds
of the timer and processor were the
same (at 4.77 MHz). As a result,
BUSPERF gave a bus speed index of 1.0.
The other benchmarks are more
straightforward. ATFLOAT is a floating¬
point benchmark written in Microsoft C
by Steven Armbrust, Ted Forgeron, and
Paul Pierce for testing AT compatibles.
(See “Out from the Shadow of IBM...
August 1986, p. 53.) It has no processor-
specific code and runs on 8088 and
8086 processors, with or without an
8087 (and the test was performed both
with and without). Note that at clock
speeds above 5 MHz, the 8-MHz 8087-2
model must be used. Five of the six ac¬
celerators ran fine at both high and
normal speeds with the 8087. As has
been noted previously, the exception
was the Maynard Surprise!
The assembly test used Microsoft’s
MASM 4.0 to assemble the DOS 3.2 ver¬
sion of VDISK.SYS. The source code
was obtained by processing the listing
file VDISK.LST (on the DOS Supple¬
mental Programs disk) with the BASIC
program LST2ASM (previously pub¬
lished with “Same Language, New Archi¬
tecture,” Ted Mirecki, October 1985,
p. 48.) To minimize timing differences
caused by disk I/O, the assembler,
FEBRUARY 1987
151
SPEED INFUSION
source file, and object file all resided
on a RAM disk in expanded memory.
To avoid taking timings manually, the
following batch file was used:
TIME 0
MASM VDISK;
TIME
REM Reset your clock or run boot-up
clock program.
Typical end-user applications are
represented by Lotus 1-2-3, Ashton¬
Tate’s dBASE hi, and Microsoft Word. The
1-2-3 spreadsheet calculates a monthly
mortgage payment table using the Data
Table 2 feature. The rows of the table
are the life of the loan in years, with
values varying 1 to 30 by 1. The col¬
umns hold the interest rates from 1 to
20 percent by .23. This is a more realis¬
tic business calculation than the more
compute-intensive log, square root, or
logarithmic functions. A file containing
this spreadsheet, SSPERF.WK1 (for 1-2-3
release 2.0 or 2.01) is available for
downloading on PCTECHline. For this
test, the expanded memory was dis¬
abled to avoid timing effects of access¬
ing paged memory. Despite the nonpro¬
cedural nature of spreadsheets, their re¬
calculation timing may be automated by
the following 1-2-3 macro:
{LET Al,@NOW}
steps to be timed
{LET A2,(@NOW-Al >*24*3600}
{GOTO} A2 '
When complete, cell A1 contains
the start time and cell A2 the elapsed
time in seconds. The @NOW function
returns a value for which the fractional
part represents time of day (.0 is mid¬
night, .5 is noon, .75 is 6 PM, etc.). The
fraction representing elapsed time is
converted to seconds by multiplying by
the number of seconds per day. Of
course, cells A1 and A2 can be in any
convenient place in the spreadsheet, or,
more effectively, they can be range
names. The {GOTO} command at the
end was put in as a work-around for
what appears to be a minor bug in
1-2-3: the effect of a LET, which assigns
a value to a cell, is not displayed until
the next time the cell pointer is moved.
The dBASE iii test consisted of sort¬
ing the author file from PC Tech Jour¬
nals standard application for testing da¬
tabase managers (see “Evaluating Data
Managers as Development Tools,” Julie
Anderson, August 1985, p. 46). The file
contains 900 records of 353 bytes; the
sort was done on three fields (ZIP,
LAST_NAME, FIRST_NAME) totaling 35
bytes. The input and output files were
on hard disk, so the results here are de¬
pendent upon the speed of the disk as
well as the processor. Although the ab¬
solute time of this test may vary from
system to system, the relative times on
one system should be close to those in
table 2. As expected, the improvement
provided by an accelerator is less on a
disk-intensive task than it is on more
compute-bound activities.
The word processor test timed
Microsoft Word repaginating a 57KB
document occupying 19 pages. This was
the only test timed using a stopwatch;
the reported results are the average of
five runs. The document resided on a
hard disk, so this elapsed time also de¬
pends upon the disk speed, but to a
lesser extent than the dBASE iii sort be¬
cause the disk access is less frequent.
The final test was the formatting of
a diskette. Three of the six accelerators
failed this, but three of them clearly
documented the fact that formatting re¬
quires switching to normal speed. The
boards that accomplish the task without
manually switching out of high speed
Command Plus:
What Command
should have been.
Command was fine when it came out. But when it
came out again and again and again with few substan¬
tial changes, it became a real roadblock for efficient
programming.
Well, we always thought the programmer should be in
command. So we designed Command Plus. An eminently
reasonable shell that replaces MS-DOS® Command.
You don’t have to forget the commands you already
know. And Command Plus gives you an enhanced DIR,
COPY and DEL. Plus features like command macros,
command recall, file browsing, and lots more that you
can’t get anywhere else. There’s even LOG to help track
the time you spend on projects.
You also get Script, a batch processor that’s easy to
learn and unbelievably powerful. Its Pascal-like language
includes control loops, conditionals and variables which
let you create unique system utilities. Hassling with
batch files is a thing of the past.
If you think you’d get more done if you were in com¬
mand of all this, get Command Plus. It’s even within a
programmer^ budget at $79.95.
Ib order or for more information, call us at (800)
992-4ESPIn California, call (213) 390-7408.
VISA and MasterCard accepted.
11965 Venice Blvd., Suite 309, Los Angeles, CA 90066
MS-DOS is a registered trademark of Microsoft Corporation.
ESP
SOFTWARE SYSTEMS INC.
CIRCLE NO. 190 ON READER SERVICE CARD
152
PC TECH JOURNAL
Windows, Data Entry, Help Management, Menus^l§
Text Editing, plus...
SOURCE CODE
Vitamin C
It’s good for your system!
The Vitamin C Difference
With Vitamin C, your applications come
alive with windows that explode into view!
Data entry windows and menus become a snap,
and context sensitive pop-up help messages
are nearly automatic.
With VCScreen, you’ll save time by inter¬
actively painting windows and forms so what
/ou see is what you get! Then, one button
generates C source code ready to plug into
/our program and link with Vitamin C.
Easy enough for the beginner. Versatile
enough for the professional. Vitamin C’s open-
ended design is full of “hooks” so you can
ntercept and “plug-in” special handlers to
customize or add features to most routines.
Of course, Vitamin C includes all source
code FREE, with no hidden charges. It always
has. That means you’ll have everything you
need to adapt to special needs without spending
hundreds of dollars more.
Windows
Create as many windows asyou like with
one easy function. Vitamin C automatically
takes care of complicated tasks like saving
and restoring the area under a window.
Options include titles, borders, colors, pop¬
up, pull-down, zoom-in, 4-way scrolling, scroll
bars, sizes upto32k, textfile displays editing,
cursor display, and more.
Unique built-in feature lets users move and
resize windows during run-time via a definable
key.
Access the current window by default or a
specific window any time, even if it’s hidden or
invisible. Save and load windows on disk for
more versatility!
Data Entry
Flexible dBase-like data entry and display
routines feature protected, invisible, required,
and scrolling fields. Picture clause formatting,
full color/attribute control, selection sets, single
field and full screen input, and unlimited data
validation via standard and user definable
routines. That means you aren’t locked into
one way of doing things.
Vitamin C even provides true right-to-left
input of numeric fields with dynamic display of
separators & currency symbols.
High Level Functions
Use our intergrated help management,
multi-level menus, and text file routines, or
build your own handlers using Vitamin C’s basic
windowing and data entry routines.
Standard help handler provides context
sensitive pop-up help messages any time the
program awaits key strokes. The help text file
is stored on disk and indexed for quick access.
So easy to use that a single function initializes
& services requests by opening a window,
locating, formatting, displaying, and paging
through the message.
Multi-level “Macintosh” & “Lotus” style
menus make user interfaces and front ends a
snap. Menus can call other menus, functions,
even data entry screens, quickly and easily.
Text editor windows can be opened for
pop-up note pads, memofields, orgeneral pur¬
pose editing. Features include insert, delete,
word wrap, and paragraph formatting.
VCScreen
Screen Painter/Code Generator
Just as Vitamin C’s reusable functions speed
your programming, VCSreen makes it even
faster and easier by automatically generating
C source code for your data entry screens!
With VCScreen’s interactive screen editor,
you actually draw your forms. You can define
input, output and constant fields, headings,
boxes, lines and even a window for the form to
run in.
What you see is what you get. If you don’t
like the position of an object, just "pick it up”
with the cursor and move it! Changing colors,
attributes, copying, and deleting is just as
easy.
VCScreen generates readable C source
code. It declares variables with names you
provide and can even generate structures.
With VCScreen choosing the right functions,
parameters and sequences, and Vitamin C
supplying the functions to choose from, you can
stop worrying about semi-colons, matching
braces, and calling conventions and concentrate
on creating your application!
30 Day
Money Back
Guarantee
Better than a brochure. More than a demo
disk. If you’re not satisfied, simply return
the package within 30 days and receive
a full refund of the purchase price.
Vitamin C .$225.00
Includes ready to use libraries, tutorial,
reference manual, demo, sample, and example
programs, and quick reference card. For IBM PC
and compatibles. Specify Microsoft, Lattice,
Computer Innovations, Aztec, Mark Williams,
Wizard, DeSmet, or Datalight C compiler AND
compiler version number when ordering.
VitaminCSource ... FREE*
‘Free with purchase of Vitamin C
VCScreen .$99.95
Requires Vitamin C and IBM PC/XT/AT or
true compatible.
ALL ORDERS:
SHIPPING: $3 ground, $6 2-day air, $20
overnight, $30 overseas. Visa and Master Card
accepted. All funds must be U.S. dollars drawn
on a U.S. Bank. Texas residents add 7V4% sales
tax.
For Orders or More Information, Call...
(214) 245-6090
Attention Realia COBOL Users:
SCREENIO 2.0
Screen Manager for COBOL Professionals.
A strictly COBOL approach to screen management, written by and for COBOL
professionals. Screen Design is easy with SCREENIO. You take care of your
application. We take care of the screens! Fully compatible with Realia COBOL.
What does it do?
Interactive Screen Design, Full Feature Screen Painter, COBOL Data Field
Specifications, Edit Masks, Automatic Error Detection, Data Validation, High
Speed Video, Full Compatibility, Window Panels . Hot-Fields, Key Redefinition,
Foreign Language Capability, Full Color Support, Cursor Management, PC Speaker
Control, Screen Libraries, and Very User Friendly. We’ve thought of everything!
And Best of all:
No Runtime Facility, No Runtime Fees, Superb Support. Only $400 Plus Shipping.
Ask about our FREE demo pack and SCREENIO+Realia Package Deal!
NORCOM
Northern Computing Consultants
Post Office Box 020897
Juneau, AK 99802-0897
(907) 780-6464
Telex: 5106014951 (NORCOM)
- Amex MC Visa Check -
CIRCLE NO. 191 ON READER SERVICE CARD
Can your IBM-PC do this?
It can if you have PLOT88...
and with PLOT88 , you can do a whole lot more .
Plotworks offers you PLOT88, a library
of subroutines to construct grids, con¬
tour maps, and three-dimensional mesh
drawings. In addition, PLOT88 is a
device-independent, industry-standard
graphics package which includes PLOT,
PLOTS, NUMBER, SYMBOL, AXIS,
SCALE, LINE, FILL, and many
others. You can output your drawings
to Hewlett Packard plotters and laser
jet printers, Houston Instrument plot¬
ters, and dot matrix printers. Now your
mainframe graphics programs can run
on your IBM-PC, PC/XT, or PC/AT at
your convenience and at a fraction of
the cost.
PLOTWORKS, Inc.
Dept. J-3, P.O. Box 12385
La Jolla, CA 92037-0635
(619) 457-5090
“Toolmakers for the Information Age”
CIRCLE NO. 153 ON READER SERVICE CARD
SPEED INFUSION
are the Surprise!, the TurboSwitch, and
the 87/88 Turbo, the last only after in¬
stallation of a resident program that au¬
tomatically switches to slow speed for
the duration of disk access.
Several other tests were run as
well, but all of the boards passed them
uneventfully. These included the start¬
ing of software protected with Vault’s
SuperLok, and the booting of several
games, including Microsoft Flight Simu¬
lator. All in all, no incompatibilities
were found; but every board permitted
switching to normal speed in the event
problems did arise. This also points out
one of the advantages of this type of ac¬
celerator: at slow speed, they are totally
transparent and indistinguishable from
the system’s native hardware.
CHOOSING RELIABILITY
As the tests shows, none of these
boards turns the PC into a blazing per¬
former. This is simply a limitation of
the basic design of this type of accelera¬
tor. In most cases, the improvement in
performance, about 20 to 40 percent
overall, is directly proportional to the
increase in clock speed, and the clock
speed itself is limited by the existing
components in the PC.
Despite similarities among many of
these products, certain differences stand
out, and some recommendations can be
made. First, the one board to avoid is
the Microsync Screamer, because of its
tampering with one of the declared
constants of the PC standard, the timer
frequency. As evidenced by the five
other products, providing a faster pro¬
cessor clock without disturbing the tim¬
er input is not difficult to do, nor does
it add significantly to the cost.
A negative vote must be registered
against the Maynard Surprise! for not
recognizing an 8087 at any speed. Users
who want the speed advantage of an ac¬
celerator will no doubt find it hard to
live without the advantages of a nu¬
meric processor. The Surprise! also has
a problem with the DOS print echo
switch. Finally, whatever performance
gain is achieved when this board does
work is simply not commensurate with
its high price tag.
The American Turbo is very capa¬
ble, and its installation is straightfor¬
ward. But it has only one clock speed,
7.37 MHz. Buy it only for a system that
has been tested at that speed.
At the top end of the spectrum,
two products can be recommended in
an otherwise unexceptional field. The
first is the MicroWay 87/88 Turbo. It
provides the most flexibility in methods
of switching speeds, and it performs
154
PC TECH JOURNAL
very reliably. Its two minor drawbacks
are that it takes up an expansion slot
and that the documentation is some¬
what lacking. But for a system that can
spare a slot, and especially one that
needs a battery-backed clock/calendar, it
deserves consideration.
The standout is the Microspeed
Fast88. Its high-quality construction,
complete and comprehensive documen¬
tation, facile installation, and reliability
in operation recommend it highly. Little
else needs to be said, and that is meant
as praise—a product of this type can be
installed and forgotten.
The performance of a PC with a
clock accelerator comes nowhere near
that of an AT, period. But for a modest
improvement at a modest cost, and at a
level of compatibility that is higher than
with more complex enhancements, this
method of speed improvement is a
worthwhile consideration. 1 *" 111 HE1
American Computer & Peripheral, Inc.
2720 Croddy Way
Santa Ana, CA 92704
714/545-2004
CIRCLE 340 ON READER SERVICE CARD
Maynard Electronics
400 E. Semoran Blvd.
Suite 207
Casselberry, FL 32707
305/331-6402
CIRCLE 341 ON READER SERVICE CARD
Megahertz Corporation
2681 Parleys Way
Bldg. 2-102
Salt Lake City, UT 84109
801/485-8857
CIRCLE 342 ON READER SERVICE CARD
Microspeed
5307 Randall Place
Fremont, CA 94538
415/490-1403
CIRCLE 343 ON READER SERVICE CARD
Microsync
15018 Beltway Drive
Dallas, TX 75244
214/788-5198
CIRCLE 344 ON READER SERVICE CARD
MicroWay
P.O. Box 79
Kingston, MA 02364
617/746-7341
CIRCLE 345 ON READER SERVICE CARD
Ted Mirecki is a contributing editor to this
magazine. He is a corporate planner respon¬
sible for developing decision support systems
on a variety of hardware.
CIRCLE NO. 118 ON READER SERVICE CARD
Storage Dimension's
SpeedStor 286 BIOS
from Award Software
for use with PC ATs and
XENIX System V
Novell Advanced
Netware
■ Overcome drive table limitations
■ Includes low-level initialization
and disk drive advanced
diagnostics
■ 30% faster than IBM's BIOS
■ $99 - Dealer and distributor
pricing available
STORAGE
DIMENSIONS
Supports Seagate ST4096, Miniscribe
6085 and the following:
Seagate
ST251, ST4051, ST4096
Maxtor
XT 1085, XT 1105, XT 1140,
XT2085, XT2140, XT2190 ;
Miniscribe
6074, 6085
Micropolis
1325
Control Data
Wren II 94155-86
Microscience
HH1050 i
Newbury
NDR1085, NDR1140, NDR2190,
Priam Vertex
V150, VI70, V185, 519
Toshiba
MK54F, MK56F
The Experts in High Capacity PC Storage
408 - 395-2688
981 University Ave.
Los Gatos, CA 95030
Storage Dimension's family of high performance products for PC storage.
SpeedStor subsystems from 42MB to 640MB ■ SpeedCache caching software
SpeedStor hard disk integration software ■ Extended drive table ROMs
60MB tape backup (DOS, Xenix, Novell) ■ SpeedStor 286 BIOS
CIRCLE NO. 176 ON READER SERVICE CARD
to sprawling files and vanishing disk space
Short on disk space?
Your remedy is Squish, a unique 40K resident program.
Squish compresses large databases up to 90%!
Text files, spreadsheets, etc. by up to 60%.
Now for the best part...
Your other software (dBASE III, R:BASE, etc.)
can read or even update “squished files’’
while the files stay compressed on disk...
without doing anything to your other software!
For information to order:
^unJog ^oftware Corporation
264 Court Street, Brooklyn, NY 11231, (718) 855-9141
Trademarks/Owners: dBASE lll/Ashton-Tate, Inc.; FLBASE/Microrim, Inc.
30-day money-back guarantee
so you have nothing to lose
and a lot of free disk space to gain!
PC, XT, AT, 100% compatibles.
DOS 2.0 or above.
FEBRUARY 1987
155
SPEED INFUSION
WHY GIVE UP...
BATCH FILES,
I/O REDIRECTION
SIDEKICK ™
DOS MENU PROGRAMS,
MOST OF YOUR RAM,
EXECUTION SPEED?
$ 69 95
plus $5.00 S&H
Washington residents add 7.9%
International orders add $5.00
VISA and Mastercard accepted.
To order Toll-Free
call 7-800-367-0657
I Compatible, efficient DOS
multi-tasking.
We designed Taskview with effi¬
ciency in mind. During normal
operation, TASKVIEW hides
behind DOS, providing you with
control of up to 10 concurrent or
non-concurrent programs. Just
the touch of a key instantly
switches a program to the fore¬
ground. Included desktop utili¬
ties let you cut and paste from
program to program. Simple to
use and reasonably priced, no
well equipped PC user should
be without it.
Requires: PC/AT/Jr compatible,
DOS 2.0-3.1, 256K RAM, 1
Floppy drive.
Taskview trademark of Sunnyhill Software
Sidekick registered trademark of Borland Inti.
30-day money back
guarantee
Dealer Inquiries Invited.
Sunny Hill
Software
13732 Midvale N. Ste. 206
Seattle, WA 98133
(206) 367-0650 M-F, 8-6 PDT
CIRCLE NO. 158 ON READER SERVICE CARD
“If you never thought Turbo
Pascal was a systems program¬
ming language, you’ve never
seen Turbo Professional."
Darryl Rubin
Computer Language
For programs that move with
technology—Turbo Profession¬
al—a truly professional library
of subroutines.
150 page reference manual.
Full source—many example
programs.
No royalties charged for
applications.
Requires IBM compatible,
DOS version 2.0 or greater,
Turbo Pascal 2.0 or greater.
Turbo Professional, trademark of Sunnyhill Software
Turbo Pascal, registered trademark of Borland International
Dealer Inquiries Invited.
O y plus $5.00 S&H
Washington residents add 7.9%
International orders add $5.00
VISA and Mastercard accepted.
Sunny Hill
Software^^
13732 Midvale N. Ste. 206
Seattle, WA 98133
(206) 367-0650 M-F, 8-6 PDT
To order Toll-Free
call 1-800-367-0651
SERVICE INTERRUPTS
No assembly required
RESIDENT PROGRAMS
Easy pop-up routines
EXECUTIVE PROGRAMS
Run ANY DOS program
DISK SECTOR I/O
Lowest level access
FAST TEXT WINDOWS
Virtual windowing system
KEYBOARD MACROS
Simple, powerful
LOTS OF EXAMPLES
21 + fuH example programs
MUCH MORE. . .
Over 140 routines in all
CIRCLE NO. 152 ON READER SERVICE CARD
LISTING 1: BUSPERF.C
/* Program for timing bus performance of IBM compatibles.
By: Ted Mirecki, October 1986.
For LATTICE C compiler versions 2.x and higher;
may require modifications for other compilers.
*/
long basetime = 54001.0; /* Timer count on base PC */
double period = 1/1.19318; /* Microseconds per timer count */
int timersetO; /* ASM functions in BUSPERFX.ASM */
long bustestO;
mainO
L
long count;
double msecs, index;
static char dispformtJ = *'%-8s %8ld %7.3f\n";
printf(*'\n\nBUSPERF -- PC Bus Performance Analyser\n");
printfC (C) Copyright PC TECH Journal 1986\n\n\n">;
timersetO; /* initialize timer mode */
count = bustestO; /* perform the test */
/* calc & display results */
printfC Timer Count Mi UiSeconds\n");
msecs = period * basetime / 1000.0;
printf(dispform, "Base PC", basetime, msecs);
msecs = period * count / 1000.0;
printf(dispform, "This Run", count, msecs);
index = (double) basetime / (double) count;
printf("\nBus Performance index: %5.2f\n", index);
>
LISTING 2: BUSPEREX.ASM
TITLE BUSPERFX - TIMER ROUTINES FOR PC PERFORMANCE TESTS
COMMENT " Routines to time execution of various operations.
Copyright (c) PC Tech Journal 1986
Written by Ted Mirecki, Oct. 1986.
Linkage conventions per Lattice C.
Limitation: test must not span midnight.
II
INCLUDE DOS.MAC ;LATTICE INTERFACE DEFIN I NT IONS
.***************************************************************
; DATA SEGMENTS
.***************************************************************
BIOSDATA SEGMENT AT 40H
0RG
6CH
;DEFINE TIMER WORDS AT 40:6C
TIMERLO DW
?
TIMERHI
DU
?
BIOSDATA
ENDS
DSEG
;MACRO TO OPEN DATA SEG (DOS.MAC)
T1L0
DU
?
;TIMER COUNT BEFORE CAL IB
TIMID
DU
?
T1HI
DW
?
T2LO
DW
?
;TIMER COUNT AFTER CALIB
T2MID
DU
?
T2HI
DW
?
NEWSEG
DU
?
;SAVE ALLOCATED WORKSPACE
W0RKDATA
DB
10 DUP (0) ;SCRATCH AREA
ENDDS
;MACRO TO END DATA SEG (DOS.MAC)
***************************************************************
MACROS USED IN CODE SEGMENT
ft**************************************************************
MACRO
TX
CALL
TIMERGET
;;GET CURRENT TIMER VALUES
MOV
TX&HI,AX
;;SAVE 3 WORDS OF TIMER
MOV
TX&MID,BX
MOV
TX&LO,CX
156
PC TECH JOURNAL
ENDM
PSEG
/MACRO TO START PROG SEG (IN DOS.MAC)
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
TIMERSET: INITIALIZE TIMER FOR INTERVAL TIMING.
Sets Timer 0 (the time-of-day counter) to mode 2, with a period
of 0 (equivalent to 65536). This makes it a low-order
extension of the BIOS timer words.
***************************************************************
BEGIN TIMERSET
TIMERO EQU
TIMERCTL
SETM0DE2
MOV
OUT
XOR
NOP
OUT
NOP
NOP
OUT
RET
TIMERSET
40H ;I/O PORT FOR TIMER 0
EQU 43H ;I/O PORT FOR TIMER CONTROL
EQU 00110100B /VALUE FOR MODE 2, 2 BYTES, BINARYv
AL,SETMODE2 /SEND CONTROL BYTE TO TIMER
TIMERCTL,AL
AL,AL /SEND ZERO COUNTER VALUE (=65536)
/DELAY FOR PORT RECOVERY
TIMERO,AL /SET LO BYTE OF COUNT
/DELAY FOR RECOVERY
TIMERO,AL
ENDP
/SET HI BYTE OF COUNT
★ ★ ★ ★ ★ ★ ★ ★ ★★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ it it it ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ * ★ * ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
TIMERGET: READ 3 TIMER WORDS INTO AX, BX, CX
TIMERGET PROC NEAR
ASSUME DS:BIOSDATA
LATCH EQU
PUSH
MOV
MOV
MOV
CLI
/COMMAND TO SAVE TIMER 0 COUNT
DS
AX,BIOSDATA
DS,AX
AL,LATCH
/POINT TO TIMER WORDS IN BIOS
/PREPARE TO CAPTURE TIMER COUNT
/NO INTERRUPTS WHILE READING TIMER
OUT
TIMERCTL,AL
/LATCH THE TIMER COUNT
MOV
BX,TIMERLO
/GET TIMER VALUES FROM B
MOV
CX,TIMERHI
/HI TIMER TEMPORARILY IN
IN
AL,TIMERO
/READ LOW ORDER BYTE OF
MOV
AH,AL
/SAVE
IT
NOP
/DELAY
FOR RECOVERY
IN
AL,TIMERO
/GET HI ORDER BYTE OF COt
ST I
/ALLOW
INTERRUPTS AGAIN
XCHG
AH,AL
/RESTORE CORRECT ORDER OF BYTES
NEG
AX
/CONVERT TO UP-COUNT
XCHG
AX,CX
/GET 3
WORDS IN PROPER ORDER
POP
DS
RET
TIMERGET
ENDP
***************************************************************
ELAPSED: CALCULATE ELAPSED TIME INTERVAL
Input: T3 timer values in AX, BX, CX/
previous values in T1 and T2 locations.
Output: Elapsed time value, (T3-T2)-(T2-T1), as
long int in AX:BX.
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★if*
ASSUME DS:DGROUP
ELAPSED PROC NEAR
SUB
SBB
SBB
SUB
SBB
SBB
ADD
ADC
ADC
MOV
MOV
RET
ELAPSED ENDP
CX,T2LO /CALC (T3-T2)-(T2-T1)
BX,T2MID
AX,T2HI
CX,T2LO
BX,T2MID
AX,T2HI
CX,T1L0
BX,TIMID
AX,T1HI /DIFFERENCE IN AX, BX, CX
AX,BX /RETURN LONG INT IN AX,BX
BX,CX
POWERFUL STATISTICAL ANALYSIS
AND FORECASTING SOFTWARE
StatPac Gold is the most advanced statistical analysis
package available for your PC. It's been proven in
business, government and academic communities
for more than six years.
StotPoc Gold is powerful and easy to use. A compre¬
hensive programming language gives you complete
control over your data. Perform complex transforma¬
tions and sophisticated analyses with speed and
accuracy. Produce customized tables and outstanding
presentation-quality graphics.
StotPac Gold uses sequential ASCII files so it's compat¬
ible with most other PC software. Time-series analysis
and quality control options are also available.
StotPac Gold is the best statistical analysis package
you can buy-a high-quality product for professional
applications.
Free brochure and technical specifications
Call Now: 1-800-328-4907
WALONICK ASSOCIATES, INC.
6500 Nicollet Avenue South, Minneapolis, MN 55423
(612) 866-9022
CIRCLE NO. 150 ON READER SERVICE CARD
1
/ BUSTEST:
TIME MEMORY ACCESS FOR INSTRUCTION FETCH
#
BEGIN
BUSTEST /MACRO TO BEGIN PROC (IN DOS.MAC)
PUSH
BP
MOV
BP,SP /STANDARD C ENTRY SEQUENCE
PUSH
DS
MOV
AX,BIOSDATA
MOV
DS,AX /POINT TO BIOSDATA SEGMENT
ASSUME
DS:BIOSDATA
MOV
AX,TIMERLO
STAY: CMP
AX,TIMERLO /DID TIMER TICK OCCUR?
JE
STAY /IF NOT, WAIT UNTIL IT DOES
POP
DS
ASSUME
DS:DGROUP /LATTICE DATA GROUP
MARK
T1 /GET INITIAL TIMER VALUES
/SET-UP CODE, IF ANY, GOES HERE
MARK
T2 /END CALIBRATION, START TEST
1
- CODE TO BE TIMED BEGINS HERE.
MOV
AX,BX /TWO-CYCLE, 2 BYTE INSTRUCTION
DB
24999 DUP (89H, 0D8H) /PERFORM IT 25,000
TIMES
1
---- END OF TIMED CODE
CALL
TIMERGET /GET ENDING TIME (T3) INTO
REGS
CALL
ELAPSED /CALC ELAPSED TIME IN AX:BX
POP
BP
RET
BUSTEST ENDP
1
/ END OF TESTS
t
ENDPS
/MACRO TO CLOSE PROGRAM SEG (IN DOS
.MAC)
END
FEBRUARY 1987
157
Until standards are developed,
users
have to rely on individual assessments
of LAN capabilities. Here are a few
guidelines for choosing a system.
J. SCOn HAUGDAHL
M any variables come into play in
analyzing the performance of PC
local area networks (LANs). With
the introduction of the IBM Token-Ring
Network comes yet another system
structure that demands attention (see
the “The Token-Ring Solution,” j. Scott
Haugdahl, January 1987, p. 50). Further¬
more, developing benchmarks for LANs
is difficult because no “typical” usage
pattern has been established for an in¬
stalled network. This article offers
points for consideration, including a
few caveats, and gives examples of lim¬
ited LAN benchmarks, in this case con¬
ducted by IBM and Novell.
Because standards are as yet unes¬
tablished, planners must be careful in
weighing vendor claims against the
probable realities of implementing a
system. For example, a vendor that pub¬
lishes a benchmark for a specific task
ticularly slow networks) may nullify the
savings realized initially in the hard¬
ware/software investment.
A vendor may claim that its LAN
can host thousands of PCs. The number
actually accommodated will typically be
a limitation of the logical address space,
not simply the comfortable number of
PCs that can exist on a LAN without se¬
vere degradation in performance. (As a
rule of thumb, the I/O response time
on a LAN should be no worse than that
of a stand-alone, diskette-based PC.) Re¬
lated to this, a vendor may claim that a
LAN can operate with an unrestricted
number of simultaneous users, but
again, a limit must be imposed some¬
where to maintain performance stan¬
dards. Software vendors that make this
claim generally are using the extended
file-locking (byte-range) and open
modes provided by DOS 3.x. They are
(such as a file transfer) may be simply
highlighting a particular area in which
its LAN outperforms the competition. In
other cases, LAN vendors may make as¬
sertions that simply do not bear out.
A typical claim may be that the net¬
work uses “low-cost” twisted-pair cable
(which is in more frequent use since
IBM introduced its cabling system—see
“Underlying Connections,” J. Scott
Haugdahl, December 1986, p. 126). Al¬
though this cable may be considered
low-cost, installation is far more expen¬
sive than the wire itself. Vendors some¬
times claim that they employ a nondedi-
cated server, so that it can be used for
more than one purpose (that is, as a file
server/workstation, file/print server, and
so on). This may be so, but the long¬
term costs in terms of performance, re¬
liability, security, and integrity (not to
mention employee down time on par-
158
PC TECH JOURNAL
ILLUSTRATION • ANDY LEVINE
leaving determination of the actual limit
up to the table capability of a hie server
and the realistic capability up to the
user. In some cases, this type of mul¬
tiuser software will not work at all with
a disk server (such as a Nestar or an
older Corvus LAN system).
Although some vendors claim that
LANs are transparent to the user (that
the user will notice no difference be¬
tween using a LAN or a PC in a stand¬
alone environment), this is not entirely
true. Users in a LAN must know how to
handle delays, errors, concurrent ac¬
cess, and possibly having to assign vir¬
tual disk volumes. Neither is the system
transparent to programmers: time-outs,
semaphores, and record-locking proce¬
dures must be managed.
Finally, the multiuser databases
used with LANs also offer varying capa¬
bilities. Users will need to know, for ex¬
ample, about the maintenance of the
system’s index structure, and if the lock¬
ing techniques are hidden from the ap¬
plication. Even though a LAN may be
distributed totally, meaning that any PC
may share any resource with any other
PC, it may be difficult to locate data.
•Moreover, the software for a distributed
LAN system is typically complex, occu¬
pies a lot of RAM, and may be ineffi¬
cient (and thus, slow).
SOFTWARE OPTIONS
First things first. Five basic options are
available for LAN software licensing,
with many variations. The first option is
for the vendor to license on a per-ma-
chine basis; that is, the user buys a copy
of each type of software for each PC in
a LAN. Although vendors continue to
market this option, it is clearly unac¬
ceptable to users. The idea behind
LANs, after all, is to share resources,
and that should include software.
The second option is licensing on
a per-network basis. Under such an ar¬
rangement, vendors may charge four to
five times the single-user cost of the
software, but then the licensee will have
unlimited use. Microrim takes this ap¬
proach with its R:base System V. A third
option is to include the LAN in a corpo¬
rate or site license enabling the users to
have unlimited use of the software and
produce an unlimited number of
copies. The fourth method is to license
software on a per-server basis; the soft¬
ware will operate only when installed
on that particular server. Performance,
will dictate when another copy is re¬
quired for a second or third server.
Perhaps the last option is the most
acceptable: to have one license per net¬
work with a limit on the number of
users on the network. One copy of the
software is placed on the server, and a
limited number of PCs can run the soft¬
ware at one time. Many vendors market
a system after this blueprint, including
Ashton-Tate with its dBASE in plus.
Many questions arise regarding the
actual performance of LAN software:
Does it have a hie or a disk server?
What is the degree of transparent mul¬
tiuser support? How many active PCs
are permitted (those using I/O), and are
they application and time-of-day depen¬
dent? What is the maximum number of
servers for the system? Does the net¬
work interface hardware contain direct
memory access (DMA) and interrupt
support? Does it have a VLSI (very large
scale integration) coprocessor? What is
the physical bandwidth and transmis¬
sion speed? What are the packet sizes?
Does the system use token-passing or
CSMA (carrier sense multiple access)?
(This becomes insignificant if the sys¬
tem is a typical PC with mixed I/O
usage.) Will the network I/O be basical¬
ly light, for applications such as pro¬
gram editing, word processing, spread¬
sheets, graphics, and electronic mail, or
will it be moderate to heavy, for appli¬
cations such as database searching and
indexing,.virtual print spooling, hie
transfer, assemblers, and compilers?
Server performance itself depends
upon several factors: Is the server dedi¬
cated or nondedicated? Is it a custom
server or a PC operating as a server? Is
a multitasking operating system used?
Are resident drivers included? This is
something that is often hidden in the
implementation of a LAN. A number of
PC LANs patch, modify, and change
DOS until it works in a DOS LAN envi¬
ronment. In other systems, such as
Novell NetWare, the operating system
does not depend on DOS for its opera¬
tion. Indeed, a true multitasking operat¬
ing system has nothing to do with DOS.
The 3Com company is an interesting
case in point. Before its current 3Com
server, the company used a high-per¬
formance server called the AP Server.
The AP was an Altos 586 machine run¬
ning Microsoft XENIX.
In addition, the speed of a ma¬
chine’s hard disk can affect server per¬
formance. The average disk access time
is approximately 30 milliseconds (ms),
which is acceptable; however, some sys¬
tems have disks that take 60, 70, 80 ms,
or more. Although hundreds of accesses
take place per second, these times add
up quickly and affect performance sub¬
stantially. This is the reason why some
systems with very high-speed drives can
access information very quickly and
perform better in a multiuser environ¬
ment where the server’s hard disk has a
lot of head movement.
Disk caching is important for keep¬
ing frequently used data in the hie serv¬
er at all times. Hashing, another feature
important to server performance, allows
the server to run path names through
an algorithm and obtain a 16-bit or 32-
bit hash code instead of a large path
name. Thus, when a server moves to re¬
trieve a hie from a directory, it can look
up the hash code in a table instead of
the longer path name.
The number of concurrent opera¬
tions on a system naturally will affect
server performance. For example, the
Novell system can run a print server
and the hie server on the same ma¬
chine. The 3Com system can run elec¬
tronic mail, a print server, and a hie
server, all on the same machine. The
ability to queue incoming requests is
also a consideration. Suppose the server
is gathering data from the hard disk.
Are all users to shut down at this time,
or can the server continue to accept re¬
quests from the network packets while
it is gathering data?
Some servers incorporate elevator
seeking to optimize the ordering of re¬
quests and thereby minimize the head
movement on a hard disk. The process
is similar to that of an actual elevator:
someone on the 18th floor presses a
button for an elevator that is at ground
FEBRUARY 1987
159
otne people nee
low price AND
gh performs
in their LAN..
People like Resellers,
Distributors, OEMs,
VARs, End Users.
People who sell LANs, and people who use LANs will tell
you: TiaraLink is tine price/performance leader in local
area networks for the IBM* PC market.
Their reasons are sound:
#1 TiaraLink supports DOS 2.0 through
3.2 and a complete NetBIOS.
#2 Thousands of TiaraLink networks are
installed worldwide on IBM PC, XT, AT
and compatibles.
#3 LanWare,™ the network operating
system software, is a one-time purchase
regardless of the number of servers on
the network. So your cost-per-station
decreases as your network grows!
#4 Gateways allow your networked PCs
to operate both as terminals to a remote
mainframe, and as network PCs.
“TiaraLink is an excellent product for us to carry.
ARCnet* is a proven technology, around since 1978.
Although ARCnet can he utilized with other
companies’ software, we still recommend TiaraLink.
Tiara, the company, is great in terms of support,
product availability, and margins.
Customer reaction is super.”
— Bob Putignano
President, Access Data Products, Inc.
Mt. Vernon, NY
“TiaraLink is the only high performance LAN on the
market with reasonable software pricing. That fact,
combined with its ease of installation and operation,
total reliability, fault recovery and
multiple server capability is why we
chose TiaraLink to distribute with
our computers.”
— Allan D. Dale, President
OnSite Business Systems, Inc.,
a division of
Dale Computer Corporation
Okemos, Ml
“Th& TiaraLink network has allowed
(us) to grow from 5 nodes to over
100 nodes with no problems. We continue
to add disks, printers, and plotters easily . . .
Even with over 400 megabytes of storage in
17 hard disks, user response time is great!”
— Gerd Hoeren
Senior Software Engineer
Integrated Measurement Systems, Inc.
Beaverton, OR
Join the knowledgeable network of Tiara resellers.
Call us today for our reseller kit and more information.
Dial 1-800-423-1268. In California call 1-800-325-6223
Here’s what
they say
about
TiaraLink.
W COMPUTER
f //UZ4
COMPUTER SYSTEMS, INC
See us at Hannover Fair
CeB/T, USA Pavilion Hall 6
Booth Ql.
2685 Marine Way • Mountain View, CA 94043 • (415) 965-1700 • TLX 4996251 • FAX (415) 965-2677
* Trademarks/Owners: TiaraLink, LanWare are trademarks of Tiara Computer Systems, Inc.; IBM/International Business Machines Corp.; ARCnet/Datapoint Corp.
CIRCLE NO. 246 ON READER SERVICE CARD
TOKEN-RING
The Network Load Factor is determined by considering the various types of users
on the ring, assigning each a weight value, and adding them to produce a total.
level; as the elevator begins to go up,
someone else wishes to get on at the
14th floor. The elevator picks up the
person on the 14th floor on the way to
the 18th floor. In LAN elevator seeking,
the head picks up requests as it travels
through the disk. A server that incorpo¬
rates elevator seeking yields the best
performance. (Single-user machines,
such as the PC/XT and PC/AT, do not
implement elevator seeking. Vendors
who put their servers on top of an XT
or AT system will have a major problem
with head thrashing.)
Benchmark reports on LAN envi¬
ronments frequently contain inherent
fallacies. First, the number of PCs used
in a benchmark network is generally
too low (typically, fewer than six). This
does not give a clear indication of how
the system will work with 30, 40, 30
PCs, or more. And, as discussed, all
servers are not the same—various mod¬
els can be 10 to 100 times faster than
others. Some benchmarks have been
carried out using a server with a poor
performance only because it was the
least expensive. Another factor that
benchmarks often do not take into ac¬
count is the effect of keyboard inter¬
rupts, especially in IBM PCs. Typing on
a PC keyboard generates low-level inter¬
rupts to the processor. If the PC is be¬
ing used as a server, the user will con¬
stantly be interrupting the server pro¬
cess running in the background. This
will affect performance significantly.
Other enigmas impair LAN bench¬
mark reports: How can the reliability of
a LAN environment actually be tested,
and is that reliability based on the in¬
tegrity of the software? In addition,
some benchmarks try to make single-
user software perform in a multiuser
way. They may downgrade a network or
a PC software vendor because it does
not work in a multiuser LAN environ¬
ment when the software was never de¬
signed for that in the first place. (Lotus
1-2-3 is often abused in this way.)
EARLY GRADES
The sample benchmarks included with
this article are typical of those now be¬
ing run on LANs. They were timed and
measured by the respective companies
(Novell and IBM); thus, they represent
real, not simulated, results. They were
chosen because they were designed to
measure performance outright, not as a
comparison among competitive ven¬
dors. Although they still say nothing
about “typical” work environments,
these data can be used as a rough
gauge for response times. The Novell
benchmarks run NetWare on different
LAN technologies. (For a full discussion
of this software, see “NetWare in Con¬
trol,” Art Krumrey, November 1985,
p. 102.) The IBM data represent raw
throughput of the its PC Network Pro¬
gram under certain circumstances.
Novell’s format Novell has defined a LAN
performance methodology called the
NetWare Evaluation System. The idea is
to determine the network load based
on a profile of user types, then com¬
pare the result with various graphs to
determine the best network/server con¬
figuration to meet that requirement.
The user types are ranked from 1
to 5, where 1 is a light-load user and 5
a full-load user. The load is defined as a
bandwidth requirement for that user,
based on an average maximum single¬
station throughput of 64KB/second (in
reality, it ranges from a low of 17KB/
second for an XT server on PC Network
with the IBM NETBIOS to 174KB/sec-
ond for an 8-Mhz AT-compatible Novell
server on EtherNet using NetWare).
Thus, a light load is about 3KB/second,
and a full load is defined as 64KB/sec-
ond (Novell points out that it is doubt¬
ful such an application exists—the 1
through 5 loads are not linear. For ex¬
ample, a type 4 user may be a heavy
database operator with a 20 to 40 per¬
cent single-station throughput require¬
ment, that is, 12 to 25KB/second.)
The load factor is obtained by mul¬
tiplying the number of users by the
user-type weight factor for each group,
and adding the totals. For example, 10
users times a type 1 weight of 3 yields
30. Adding that to say, 8 users times a
type 3 weight of 15, yields 150. If one
type 4 user (at 40) is added, the total
becomes 190 for an estimated network
load. By comparing that number with
Novell’s Network System Profile (figure
1) for a standard IBM PC 6-MHz server
operating with NetWare, a vertical line
can be drawn at the 190 mark to see
how the various LANs might perform
under such a load. (Novell has included
in this trial an AT with a hard disk and a
diskette-based PC for comparison to
stand-alone performance.)
The graph shows that three net¬
works will turn in a better performance
than the hard disk with a 190 load:
3Com EtherLink Plus, Proteon proNET,
and the IBM Token-Ring. Note the con¬
vergence of the two Token-Ring net¬
works to EtherLink Plus as the network
FEBRUARY 1987
161
BASIC
Programmers
Memory—Resident BASIC
Stay-Res lets you pop up compiled BASIC pro¬
grams. Select your hot key or pop them up with
a POKE. Automatic screen save/restore. Add our
EMS/disk module (for DOS 3 +) and programs
use only 7K of DOS memory - the rest is stored in
Expanded Memory or disk. Stay-Res includes a
true SHELL facility allowing you to SHELL ANY
PROGRAM, even other BASIC programs, before or
instead of becoming memory-resident. Requires
IBM or Microsoft compiler (QB2 needs DOS 3+).
Only $95. Add $50 for EMS/disk module.
MACH 2 Turbocharges BASIC
Use our assembler subroutines to boost program
speed many times. Instant screen displays and
pop-up windows when compiled. No 64K limit -
use all avail. DOS memory for strings /numbers.
Store, search, sort strings at assembler speed.
Controlled input routine uses standard edit keys &
ignores^C &~Brk. Print using for numbers up to
6 times faster than BASIC. Read & write files fast
as DOS. Much, much more. Assembler source
code available. Only $75.
Know Thy PC
With Peeks ’n Pokes you can read & change
system configuration from your program. Read
CMOS chip on AT. Unprotect IBM/GW-BASIC
pgms saved with “p” option. Plug characters in¬
to k’board buffer. Read/change k’board status.
Read printer status - no more timeouts. Use 4
printers as LPT1. Swap printers, monitors, COM
ports. Read monitor/COMtfatus. Boot system 3
ways from BASIC. Disabled &~Brk. Find more
Peeks & Pokes. Much, much more. All BASIC &
most assembler source code included. Only $45.
Indispensable Utilities
The Inside Track lets you load and execute large
EXE files faster than DOS. DOS / BIOS calls & in¬
terrupts from BASIC. Limit memory used by com¬
piled programs to eliminate Command.com re¬
load. Copy protect a diskette. Boot system 3 ways
from DOS. Memory map + summary of most
common BIOS calls, including EGA. Control
k’board state - force Caps Lock, Num Lock - disable
~C,~Brk and Ctrl-Alt-Del. Program tips. Much,
much more. All source code included. Only $65.
Money-Back Guarantee
Call for details on 30-day money-back perfor¬
mance guarantee. Our software is not copy pro¬
tected. No royalties when you use our subroutines
in compiled programs. Compatible with IBM/GW-
BASIC, QuickBASIC 1 & 2, BASCOM 1 & 2, MS
5.36. System Requirements:
• IBM PC, XT, AT or compatible
• DOS2+ (Stay-Res EMS/disk requires 3+).
• Stay-Res with QuickBASIC 2 needs DOS 3 +.
Order Now 800-922-3383
We welcome VISA / MC. COD in US only - add $3.
Shipping: US $3/order. Canada - $5 for 1 or 2
pkgs. Add $2 each addt’l. Elsewhere - $18 for 1 or
2 pkgs. Add $7 each addt’l. In Georgia add tax and
call 404-973-9272. Stay-Res/Mach 2 demo
available - send $5 check. Refunded on direct
purchase.
MicroHelp, Inc.
2220 Carlyle Drive
Marietta GA 30062
TOKEN-RING
load factor increases. In terms of raw
performance, the EtherLink Plus Ether-
Net (with a raw data rate of 10 megabits
per second—Mbps) outperforms the
Token-Ring (with its raw data rate of 4
Mbps). A LAN based on all EtherLink
Plus adapters is also more expensive
than one based on Token-Ring adapters
and components. (Note that these No¬
vell figures were complied using the PC
Token-Ring Adapter I. This testing was
done before Adapter II became avail¬
able. The Adapter II will yield a slight
increase in performance as a result of
its increased buffer size and the fact
that server software could take advan¬
tage of a new command in Adapter II to
improve link performance.)
Novell’s benchmarks are subject to
argument. How can a vendor of server
software remain objective? Consider,
however, that although the benchmarks
certainly are useful for comparing vari-
WHICH INTERFACE?
A programmer has several options in
choosing an interface for an applica¬
tion that will be run on the IBM Tok¬
en-Ring Network. IBM itself offers
NETBIOS, APPC/PC (Advanced Pro-
gram-to-Program Communication/PC),
IEEE 802.2 (logical link control, or
LLC, protocol), IEEE 802.5 (token-ring
protocol), DISOSS (Distributed Office
Support System, via personal services),
3270 (via the 3270 Emulation Pro¬
gram), and API/CS (Application Pro¬
gram Interface/CS via NetView/PC).
Through third-party vendors, a user
can obtain NETBIOS emulation from
Novell, and Microsoft-compatible net¬
works from Ungermann-Bass and
3Com Corporation. And, of course, an
operating-system level interface is al¬
ways possible through DOS.
System Network Architecture
(SNA) is clearly IBM’s strategic long-
range network architecture (even
though the European data processing
community is pushing IBM to follow
International Standards Organization
protocols). IBM’s SNA commitment is
reinforced with the introduction of
IBM NetView/PC and the now-estab¬
lished APPC/PC program. Offering
SNA-based protocols and applications
for the PC is one of the ways in which
IBM can retain its market share of per¬
sonal computers and support large
host customers that have many PCs.
However, subsequent to the in¬
troduction of the IBM PC Network,
which offered the first hope for a
common thread to LAN software, writ-
ous LAN and PC technologies, they are
not necessarily helpful in comparing
servers. Performance is only one aspect
of LANs to be considered, features and
functionality are quite another. A com¬
mon benchmark for performance, with
some agreed upon weight factor for
server functionality, would truly leave
the choice to the user.
IBM endeavors. IBM has engaged in a
number of studies to determine Token-
Ring performance using the PC Adapter.
For comparison purposes, IBM chose to
perform the tests on the PC Network as
well. The IBM numbers presented here
are preliminary and are not guaranteed
by IBM. (In testimony to the fact the ar¬
rival at a set of standards for PC LAN
operation is still some time away, the
accompanying sidebar, “Which Inter¬
face?” is a brief discussion of the sev¬
eral interfaces available in writing appli¬
cations to function on a network.)
ing to NETBIOS has become reason¬
ably popular, especially in PC-only
LANs. The NETBIOS emulator on the
Token-Ring was developed primarily
for compatibility with the PC Network
and to transport PC-Network-develop-
ed applications to the Token-Ring Net¬
work. In addition, Microsoft (MS) net¬
works also offer most of the features
of NETBIOS (such as the redirector).
But even though a user can obtain
NETBIOS applications to communicate
with the IBM System/36, System/370,
and even the Series/1, the NETBIOS
interface (and MS networks) should
be considered temporary solutions for
either PC-only LANs or LANs with
mixed computers and applications
(that is, with PCs, minicomputers,
mainframes, and so on).
A safe approach would be to
write multiuser applications for net¬
works that require file and record
locking, in keeping with DOS 3.x. For
mixed IBM environments, APPC/PC
and NetView/PC clearly are the long¬
term interfaces to which applications
should be written. For writing systems
and protocol software, it is safer to
write procedures that follow the 802.2
LLC for two important reasons: to
maintain compatibility with the latest
IBM/IEEE 802.2 specification and to
operate on top of IBM’s Adapters or
those that use the Texas Instruments
chip set. This also will build in sup¬
port for mixed IBM/other vendor
802.5-compatible token-ring LANs.
— J. Scott Haugdahl
CIRCLE NO. 257 ON READER SERVICE CARD
162
PC TECH JOURNAL
Him lour S!ystem/3X
Intolhe Meet Host Wth
PCOX Technology
PCOX"5250 products
make your System/3X
treat your PCs like
members of the family.
Your System/3X and your
PCsalready live together. Nowthey
can work together, too. Thanks to
PCOX Technology
With PCOX 5250 connec¬
tions, your PCs enjoy the toll
privileges of a 5251 Model 11,5291
or 5292.
Which means your PCs can
access and transfer files from your
System/3X data base, use its host
as a departmental processor, or
participate in your company’s dis¬
tributed SNA network.
MORE WAYS TO SAY HELLO.
The PCOX5250 series comes in
twinax and remote versions—one
foriocai connections; and one for
connections over phone lines .
PCOX 5250 products come
in twinax and remote versiona so
PCs can enjoy S/3X connections
in person or over phone lines.
And both versions support up
to seven concurrent host sessions.
No competing product delivers
more.
So let PCOX Technology open
doors between your System/3X
and your PCs.
Call CXI today toll-free.
800-225-PCOX
In California, call 415-424-0700.
CXI
CXI, Inc., 3606 West Bayshore Road
Palo Alto, CA 94303. Tfelex: 821945
PCOX and all PCOX products are trademarks of CXI, Inc.
CIRCLE NO. 217 ON READER SERVICE CARD
TOKEN-RING
The response time will depend upon the time that is spent by the network station
to service the request in and the time taken to transmit the data over the ring.
TABLE 1: IBM Benchmark Results
LOGICAL LINK CONTROL
NETBIOS
40KB FILE LOAD FROM SERVER
PC or PC/XT
< 8 percent
<20 percent
PC/AT
< 3 percent
< 8 percent
100KB FILE COPY FROM/TO SERVER
PC or PC/XT
<21 percent
<59 percent
PC/AT
< 8 percent
<21 percent
The transfer of a large file on the PC takes a sizable percentage of the processor’s
time. It is unlikely that sufficient time is left for use by a multitasking system.
Assuming the network could be
loaded with frames as close to 100 per¬
cent as possible, the Token-Ring can
carry data (at the physical link level) at
3.7 Mbps, or about 92.3 percent of the
4-Mbps bandwidth. The maximum data
capacity of PC Network is 1.5 Mbps, or
about 75 percent of the 2-Mbps band¬
width. Thus, if the device attached to
the Token-Ring (such as a PC) can sus¬
tain back-to-back transmission of pack¬
ets, the Token-Ring performance will be
two times better than the PC Network.
This can be traced to PC Network’s in¬
creased overhead, such as preambles
and interframe spacing time present in
its CSMA protocol. In a case where sev¬
eral stations were offering load at once,
the Token-Ring would fare even better
because it operates without collisions.
IBM measured capacity over multi¬
ple sessions at the NETBIOS level, using
16KB messages. For the PC Network,
the maximum possible throughput at
the session level was 650 kilobits per
second. Using the Token-Ring with the
NETBIOS emulator running in a 6-MHz
AT, the throughput was 2.0 Mbps, or ap¬
proximately three times better than PC
Network. Another contributing factor is
that no transport or network layers are
present in the IBM NETBIOS emulator
for the Token-Ring Network; the session
services communicate directly with the
adapter handler.
An AT might actually run slower on
the PC Network because of the 8-bit
DMA emulation required to operate the
PC Network Adapter Card. Another fac¬
tor that slows down NETBIOS on the
PC Network is that every packet is ac¬
knowledged, whereas on the Token-
Ring, a parameter can be set to acknow¬
ledge every n packets. This, together
with the fact some NETBIOS send oper¬
ations are acknowledged by the receiv¬
ing station before the sender “com¬
pletes” the operation, adds up to a fair¬
ly impressive performance.
IBM also determined that the maxi¬
mum data rate of any one station on the
Token-Ring depends on how fast the
processor for that station is. For exam¬
ple, a single 6-Mhz AT can drive the
network at nearly double the rate of a
standard PC or XT.
“Real-world” tests were conducted
by IBM using the Token-Ring with the
NETBIOS emulator and the PC Network
Program, and one AT that was config¬
ured as a dedicated file server. A 40KB
file was loaded by one to four worksta¬
tions. The response time exhibited by
the workstations is illustrated in figure
2. The top portion of each bar is the
time spent by the AT in servicing the
request (mainly in fetching data from
the hard disk). The bottom portion is
the actual time spent transferring the
data over the ring. As with all PC LANs,
the response time will depend not only
on the performance of the network, but
also on how fast the server can service
the request. Recall that file servers, for
example, are limited by the speed of a
system’s hard disk. The bottom line in
achieving optimum server performance
is to use as much of the available LAN
bandwidth as possible.
Another interesting way to measure
performance is by the percentage of the
PC’s processor used while performing a
network operation. This indicates the
amount of “idling” (or time wasted) ex¬
perienced by the processor in which a
multitasking operation could be imple¬
mented. The results of the IBM study
are listed in table 1. In general, to
achieve optimal ring performance, re¬
gardless of the PC type, the user must
maximize the buffers in each worksta¬
tion and minimize the links between
the workstations.
With a sizable portion of the PC
community either engaged in or consid¬
ering LAN environments, the issues of
standards and benchmarks will develop
vigorously. At this stage, it is a good
idea to look at a variety of published re¬
ports to obtain an overview of available
products. It is advisable to test individu¬
al products in the anticipated configura¬
tion rather than commit to a system
based on reputation alone. [S w
f. Scon Haugdahl is a senior systems special¬
ist at Architecture Technology Corporation, a
consulting, publications, and seminar firm
specializing in data communications. Mr.
Haugdahl has been researching the LAN in¬
dustry for more than five years, designing
products, writing papers and books, and
presenting seminars on a world-wide basis.
164
PC TECH JOURNAL
LAN REPORT 5
A Hard Look at LAN Choices.
Novell's LAN Report Package makes choices easier.
The flexibility of local area net¬
works allows users to assemble
LANs using network components
that best suit the needs of the instal¬
lation. But choosing those compo¬
nents can be a confusing process.
Novell, Inc., has published
two reports designed to
make the process easier:
the LAN Operating System
Report 1986 and the LAN
Evaluation Report 1986.
These reports help users
evaluate network compo¬
nents and make informed
decisions when choosing
the components that meet
their needs. Hardware and
software issues are sepa¬
rately evaluated in the two
reports, and extensive
performance benchmarks
are included.
Software Choices.
Choosing a network
operating system, or LAN software,
isthe most critical aspect of design¬
ing a network. Simply, the better the
operating system, the better the
network. The LAN Operating
System Report contains an in-depth
analysis of LAN software, begin¬
ning with an examination of LAN
software standards such as
MS-DOS 3.1 and NETBIOS, and the
file server environment. Issues like
internetworking, system reliability,
security and performance are
addressed as well.
The LAN Operating System Report
also evaluates Novell Advanced
NetWare, the IBM PC Network
Program and 3Com 3 +. The report
shows users how the design and
implementation of these products
translates into real performance.
Hardware Options.
The LAN Evaluation Report 1986
focuses on evaluating network
hardware. It examines hardware
issues that affect LAN performance,
including an analysis and bench¬
marking of major LAN products.
A key element of the study is the
NetWare Evaluation System. The
system provides a mechanism for
matching site needs to specific
hardware. Whether a new network
is being planned oran existing site
is being upgraded, the study is
useful in the performance evalua¬
tion of any network.
System planning starts with the net¬
work interface card (NIC) and cabling.
NICs analyzed in the study are:
• AT&T StarLAN
• Corvus Omninet
• Davong MultiLink
• Gateway G-Net
• IBM PC Network
• IBM Token Ring
• Interactive Systems Vista LAN/PC
• Nestar PLAN 2000
• Novell S-Net
• Proteon ProNET
• Standard Microsystems ARCNET
• 3Com EtherLink
• 3Com EtherLink +
The report analyzes each NIC
according to its access scheme,
raw bit rate, on-board processor
and NIC-to-host transfer method.
Another important compo¬
nent of the LAN is the
network server. In examin¬
ing network servers, the
LAN Evaluation Report
looks at several perfor¬
mance indicators. Proces¬
sor type isthe most obvious
feature to differentiate
servers. However, other
factors important in deter¬
mining server performance
are also evaluated, includ¬
ing processor clock cycle
speed, wait states, server
memory cycle speed, mem¬
ory channel and transfer
bus channel. And the report
examines the effect of
disk channel speed on
network performance.
In addition to providing a careful
examination of LAN hardware, the
LAN Evaluation Report features an
evaluation formula. Using the
formula, a LAN's estimated future
site activity is measured and
matched to the appropriate LAN
hardware.
To Get the Reports.
The LAN Operating System Report
1986 and the LAN Evaluation Report
1986 are available free of charge
from Novell. To obtain a copy of
the Novell Report Package, call
or write Novell Corporate
Communications, 122 East
1700 South, Provo, Utah 84601,
(801) 379-5900.
INOVELL
"Hardware and
software issues are
separately evaluated
in the
two reports..."
CIRCLE NO. 109 ON READER SERVICE CARD
Execution
Profilers
for the PC
Part 2
RALPH G. BRICKNER
T o optimize a program’s perfor¬
mance, a developer needs to dis¬
cover the parts of the program
that take up the most time. An execu¬
tion profiler can be used to analyze a
program, determining how much time
the program spends performing various
tasks. Sophisticated performance analy¬
sis of this type is available from the
many commercial profilers.
Part 1 of this article (November
1986, p. 120) presented assembly lan¬
guage and Turbo Pascal code for a sim¬
ple execution profiler, PRF. In Part 2,
five commercial software packages are
reviewed and compared with PRF. They
include: Atron Corporation’s SPTA (Soft¬
ware Performance and Timing Analyzer;
David Smith Software’s Code Sifter; dwb
Associates’ Profiler; Phoenix Technolo¬
gies Limited’s Pfinish; and Stony Brook
Software’s The Watcher. (For a compari¬
son of features, see table 1.)
TESTING THE PROGRAMS
To evaluate the performance of these
five products, three programs were
used. SIN.EXE is a FORTRAN program
that calculates the sine function by two
methods; one uses its own Taylor’s se¬
ries approximation, and the other calls
the FORTRAN intrinsic function SIN.
SIN.EXE is included as a demonstration
program with IBM Professional FOR¬
TRAN. For the purpose of these tests,
SIN.EXE was compiled with IBM FOR¬
TRAN version 2.0, because it provides
line number output to the linker for
symbolic interpretation.
The second program, TERM.EXE,
does interrupt-driven I/O to the COM1
serial port. The assembly language code
first appeared in PC Tech Journal as
DUMBTERM (see “Interrupts and the
IBM PC,’’ Chris Dunford, January 1984,
p. 144). The only modifications that
were made to the code were to include
PUBLIC statements for all of the proce¬
dures so that the PROC names would
appear in the .MAP file.
LOOPS.EXE, the third test program,
is written in C and is provided with
Code Sifter. This program consists of a
series of nested loops that do simple
assignments and some arithmetic com¬
putations. All three test programs have
.MAP files to allow symbolic interpreta¬
tion of the collected data.
Profilers employ one of two ap¬
proaches to performance monitoring,
passive and active. Some simple pro¬
filers use the passive approach. PRF is
an example of this type; it does not
modify the actual subject code. The pas¬
sive type of monitor is restricted to an
observational role, recording CS:IP (the
segment and offset of the instruction
pointer) at specified intervals. In addi¬
tion to the capability of passively sam¬
pling CS:IP, the active-type profiler ac¬
tually modifies subject code, inserting
jumps to the profiler to count proce¬
dure calls and events and to turn timers
on and off. Although these features are
quite useful, there are trade-offs. Active
profilers consume more memory re¬
sources, and it is possible to corrupt
data that are not specifically excluded
from active sampling techniques. Not
surprisingly, the two active profilers,
SPTA and Pfinish, come from vendors
who also offer sophisticated symbolic
debuggers; their execution profilers are
part of a comprehensive line of debug¬
ging and performance monitoring tools.
Profilers save data in different
ways. PRF, SPTA, and The Watcher sim¬
ply save all the samples they collect, un¬
til the data table fills up or the subject
program terminates. After collecting
these data, the analysis portion of the
166
PC TECH JOURNAL
COMPUTER GRAPHIC • NATALE/EAST
Commercial software profilers help developers identify and speed
up the part of a program that consumes the most time.
profiler reads the data and interactively
processes them to make its report. This
approach allows the user to run the
(possibly lengthy) subject code once
and then formulate questions to ask the
profiler in an iterative manner, without
rerunning the subject. This also allows
separate code to be used for sampling
and analysis. Using separate sampling
and analysis code saves on memory
usage by the profiler. Profilers that
combine both sample and analysis code
tend to be rather large; SPTA, for exam¬
ple, requires more than 128KB by itself.
A convenient feature that is found only
in The Watcher saves samples to a per¬
manent disk file. This allows the pro¬
grammer to come back later to analyze
the data.
Another significant issue in the de¬
sign of profiling software is the provi¬
sion for a macro or command file capa¬
bility. Some of the more complex prod¬
ucts require the user to enter a rather
large number of instructions in order to
exploit their flexibility. Therefore, the
ability to save and retrieve these in¬
structions becomes a necessity. The out¬
standing products in this area are SPTA
that offers an interactive save-and-recall
macro feature and Pfinish with a batch¬
like command file facility.
The presentation of data was nearly
uniform across the product spectrum.
As with PRF, the results are usually giv¬
en in histograms. Some of the programs
supported changing histogram param¬
eters, such as minimum percentages to
be displayed; some did not. They also
differed in the amount of auxiliary in¬
formation that was displayed, for exam¬
ple, address partition labels or actual
address ranges, number of samples,
individual bin percentages.
An important consideration in the
reduction of the data is how the ad¬
dress ranges for the bins for accumulat¬
ing counts are determined. In PRF, a list
is kept of ail distinct code segment reg¬
ister values found in the samples. A seg¬
ment histogram is then displayed, show¬
ing the relative abundance of each seg-
: ment in the samples. Next, each individ¬
ual segment may be analyzed, with a
histogram of offsets encountered within
that segment. PRF is very address-driv¬
en, not symbolic; its model of segment-
offset histograms closely matches the
actual 8088 architecture.
Programmers tend to write in high-
level languages and think in symbolic
terms. Therefore, the ability to associate
histogram bins with meaningful pro¬
gram symbols is very important. All of
the reviewed products provide some
support for symbolic interpretation of
the results, using information obtained
from the .MAP file produced by the
DOS linker.
In practice, an enormous variation
in the amount of information generated
in the .MAP file will be encountered go¬
ing from one language processor to an¬
other or from one program to another
using a given language processor. Thus,
significant questions in the analysis of
these products’ usefulness include: how
robust are they in dealing with this in¬
formation? What aids do they give the
user for managing the information?
How well are they able to distill the in¬
formation to a useful basis for making
software development decisions? A par-
I he presentation of data
was nearly uniform across
the product spectrum. As
with PRF ; the results are
usually given in histograms.
ticularly useful feature is the ability au¬
tomatically to assign symbolic regions
to the physical address bins; the other
option is manually to enter symbolic
regions for the bins. A number of less
important features are available that an
individual product might offer. For ex¬
ample, convenient redirection of output
to a printer or disk file, variation of the
sampling rate, and variation of the data
table size are all features of PRF, which
may or may not be offered in the soft¬
ware that was reviewed.
Atron Corporation. Atron’s Software and
Performance and Timing Analyzer
(SPTA) is a complex, active-type pro¬
filer. It is an interactive, menu-driven
program, although complex command
streams may be defined as macros and
saved to disk for later retrieval. Like the
other reviewed products, it can statisti¬
cally sample the code by means of a
clock tick interrupt, the frequency of
which may be selected by the user. For
this mode of operation, however, SPTA
stores a fixed number of samples. To
vary the total amount of execution time
that may be sampled, the user must
change the timer frequency to an
appropriate number.
Other functions available from
SPTA include procedure duration meas¬
urement that determines the amount of
time spent in a given piece of code, a
program event counter that counts the
number of times a given event occurs,
and a procedure timing analysis that
stores the times at which a given event
occurs. SPTA is actually an enhancement
to Atron’s Software Source Probe de¬
bugger; consequently, a variety of auxil¬
iary functions are available, such as un¬
assemble, memory block moves, and a
powerful macro capability.
Symbolically, SPTA handles public
names and line numbers within a mod¬
ule (if they are present in the .MAP
file). However, the user must manually
assign the (symbolic) address limits to
the 16 collection bins. Fortunately, col¬
lection bin limits are stored on disk
symbolically and reconverted to ad¬
dresses each time a new .MAP file is
used. After setting up symbolic limits
for LOOPS, SPTA produced the output
shown in figure 1.
The demonstration program pro¬
vided with SPTA can produce some real
surprises if it is not used with care. The
program is a small Pascal program that
tests a region of system memory by
writing to and reading values from it,
beginning at an address entered by the
user. The beginning address suggested
in the documentation is 200K. Anything
that happens to be in the memory re¬
gion (including the performance analyz¬
er or the demonstration program) will
be overwritten by a test pattern. Users
who employ terminate-and-stay-resident
programs or execute programs from
within a word processor or text editor
must be careful about the region of
memory they test with this program.
FEBRUARY 1987
167
EXECUTION PROFILERS
The documentation provided is
well organized and indexed; a list of
available commands is provided at the
bottom of the command screen. Data
analysis seems to take an unusually long
time (1 minute and 5 seconds to plot
approximately 8,000 samples). On the
whole, SPTA seems to provide generous
capabilities at a reasonable price.
David Smith Software. Code Sifter is a pas¬
sive, monolithic profiler that does its
data reduction in realtime. It is interac¬
tive and menu driven, and includes on¬
line help. The documentation is brief,
but clear and well organized.
A unique feature of Code Sifter is
an automatic repartitioning of the 32
sample bins. These bins are initially
partitioned on the basis of the public
symbols in the subject program’s .MAP
file in symbolic mode, or they are de¬
fined manually in terms of absolute ad¬
dresses. After running the subject pro¬
gram, a quick press of F3 causes the
code to discard the 16 least active bins
and subdivide the remainder into 2, 4,
8, or 16 bins.
This repartitioning is done after
every step when executing the subject
program in the autorepeat mode. A few
painless iterations of this procedure
narrowed down the LOOPS program to
its two most time-consuming subpro¬
grams (see figure 2). Note that LOOPS
was provided with Code Sifter as a
demonstration program.
An interesting feature of Code Sift¬
er is that it automatically reads the .MAP
file for the subject program, if present,
and produces a sorted, condensed map
file (.$MP) consisting of all public sym¬
bols. It then reads .$MP to set up the
sample bins in symbolic mode. Unfortu¬
nately, this results in a loss of segment,
group, and line number information, so
that Code Sifter is not able to analyze
SIN at the line number level. The large
number of public names in the FOR¬
TRAN runtime code result in an unin¬
formative session with the default .MAP
file. When an edited version of the .MAP
file that was created manually was used,
Code Sifter was able to profile the exe¬
cution times among the user-defined
subprograms and the runtime code on
the first iteration.
Another useful feature of Code Sift¬
er is the ability to select any combina¬
tion of user program, DOS, and BIOS
code to include in the sampling, all
with a single function key. This function
is especially helpful when profiling
TERM, because TERM executes a large
number of DOS function calls. A few
iterations on the partitioning and clock
speed-up gave useful data on the TERM
tESSMSKM
WSm
. . ' V . :
PCTJ
DAVID
DWB
STONY
SAMPLE
ATRON
SMITH
PHOENIX
ASSOCIATES BROOK
Model
PRF.ASM
SPTA
Code
Pfinish
Profiler
The
Sifter
Watcher
Version
N/A
1.13
1.20
1.10
2.03
1.05
Price
N/A
$129
$119
$395
$125
$59.95
TYPE AND OPERATION
Active profiler
O
•
O
•
O -
O
Interactive
•
•
•
O
•
•
All samples saved
•
•
O
O
o
•
for analysis
Separate sampling
•
O
o
o
•
•
and analysis code
OUTPUT TYPES
Histograms
•
•
o
•
•
•
Changeable histogram
•
O
N/A
•
o
o
format
Summary statistics
•
•
•
•
•
•
PERFORMANCE MEASUREMENTS
Timer ticks
•
•
•
•
•
•
Interrupts
O
•
O
•
o
•
Procedure calls
O
•
o
•
o
0
Stack tracing
o
o
o
•
o
o
Event counts
o
•
o
o
o
0
ADDITIONAL FEATURES
Clock speed-up
•
•
•
•
o
o
Subject autorepeats
o
o
•
•
o
o
Output to printer
•
•
•
•
•
•
Output to file
•
•
•
•
•
•
On-line help
o
% a
•
o
• '
ADDRESS REGION
Absolute address
•
•
•
•
•
•
Address relocation
o
o
•
•
•
•
User definable
•
•
•
•
•
•
Automatic partition
o
o
•
•
o
o
assignment
Automatic
o
o
•
o
o
o
repartitioning
Symbolic
o
•
•
•
•«
•
SYMBOLIC SUPPORT
Named segments
o
o
o
o
o
•
PUBLIC symbols
o
•
•
•
•
•
Line numbers
o
•
o
•
•
•
Autoread map file
o
o
•
o
o
•
Map file editing
o
•
• b
•
o
o
• = Yes O = No
a Rudimentary
N/A Not applicable
b Done automatically
All of these products offer some symbolic support, in addition to the basic func¬
tions that are required to analyze PC program performance.
program. (For information on clock
speed-up for performance monitoring
see part 1 of this article in November.)
On the whole, Code Sifter provides all
of the basic functions required to per¬
form timer-tick performance analysis,
along with its autopartitioning feature,
at a reasonable price,
dwb Associates. Profiler, from dwb, is a
passive, two-phase profiler. The first
step in using the package is to execute
the INSTALL program, which makes the
sampling code (profiler driver) perma¬
nently resident in memory. The user
then turns the sampling on and off by
pressing the two Shift keys simulta¬
neously. Unfortunately, this procedure
is not fully compatible with Borland
International’s SideKick. While Ctrl-Alt
always moves into and out of SideKick,
168
PC TECH JOURNAL
FIGURE 1: SPTA Display
FIGURE 2: Code Sifter Display
Program terminated. Termination code=0000
Program Activity Measurement
Sample rate is: 20.000 ms
Min address
Max address
Count
% 0 20 40 60 80 100
0000:0000
._MAIN+F08E
682
98 1 ****★★★★★★★★★★★★★★★
.MAIN
.MAIN+0117
22
3 |*
.COPYRIGHT
.COPYRIGHT+0458
0
0 |
3000:0000
3000:FFFF
0
0 |
.CSCLEAR
.CSCLEAR+0025
0
0 |
.CSENABLE
.CSENABLE+001D
0
0 |
.CSDSABLE
.CSDSABLE+05FB
57
8 |***
.STRCPY
•STRCPY+0029
298
43 |***************
.UPPER
.UPPER+0049
0
0 1
.STRCMP
.STRCMP+003C
0
0 I
.STRCAT
.STRCAT+0032
298
43 1 ***************
.SORT
.SQRT+0117
1
d |
C 000:0000
C000:FFFF
0
0 |
D000:0000
D000:FFFF
0
0 |
E000:0000
E000:FFFF
0
0 |
F000:0000
F000:FFFF
10
1 |*
Total: 196
ASm ARange BP BYte COMpare CONsole DElete ECho EMacro EVal Fill FLag Go IF
INIt INTerrupt List LOAd LOOp MAcro MEnu MODule MOVe NEst NOVerify MORe
SPTA handles public names and line numbers within a mod¬
ule; the bin address limits must be assigned manually.
AREA
COUNT
PERCENT
RANGE
USER
196
1.5
MAIN --> MAIN + 08B
USER
271
2.0
MAIN + 08C --> End of MAIN
USER
766
5.7
MY_SUBROUTINE --> End of MY_SUBROUTINE
USER
187
1.4
SENTRY --> SENTRY + OF
USER
34
0.3
PRINTF --> End of PRINTF
USER
262
2.0
SDLOAD --> End of SDLOAD
USER
18
0.1
SDADD --> End of SDADD
USER
87
0.6
SDMUL --> End of SDMUL
USER
729
5.4
SDDIV --> End of SODIV
USER
4
0.0
SDSTORE -•> SDSTORE + 010
USER
2853
21.3
STRCPY --> STRCPY + 014
USER
2808
21.0
STRCPY + 015 End of STRCPY
USER
4821
36.0
STRCAT --> End of STRCAT
USER
13
0.1
SORT --> End of SQRT
USER
4
0.0
FREXP --> End of FREXP
USER
33
0.2
FPUTC --> End of FPUTC
Total
Counts
= 13396
Press a key to return to MAIN MENU ....
The two most time-consuming subprograms in LOOPS are
identified using the automatic repartioning of sample bins.
holding down both Shift keys results in
an annoying alternating display: Profiler
ON; SideKick; Profiler OFF; SideKick;
Profiler ON; SideKick... Even without
SideKick sharing the system, Profiler
takes nearly a full second of holding
down both Shift keys to switch on and
off. Because the user must start and
stop the sampling process without any
knowledge of the internal state of the
CPU’s instruction stream, it is difficult to
know what is being sampled. For accu¬
racy and reproducibility, it would be
clearer (although much harder to code)
if a profiler adhered to a convention
such as “Turn on sampling preceding
EXEC call; turn off after return.” In the
tested version, Profiler does not know if
a program is being loaded or if it is in
the midst of running; it relies entirely
on the user for that information.
Once the INSTALL code has been
executed and is resident, PROFILER.EXE
may be executed. This program is an
interactive monitor that communicates
with the resident code, telling it the ad¬
dress bin limits, resetting bin limits, and
producing the output. The Profiler Mon¬
itor can be profiled by pressing Shift-
Shift. As many as 16 address bins are in¬
tended to be set to the addresses of
pieces of code in which the user is in¬
terested. The address limits on these
bins must be set manually or Profiler
does not perform as expected.
By default, Profiler’s address bins
are set to 0000:0000H - 0000:FFFFH,
1000:0000H - 1000:FFFFH, and so forth.
The results of profiling the LOOPS pro¬
gram with this default range assignment
are given in figure 3. Ranges for the ad¬
dress bins can be entered symbolically,
because Profiler does read a .MAP file
for symbolic information. However, af¬
ter entering the limits symbolically, the
ranges are converted to a numerical ad¬
dress and stored that way (assuming
that the SAVE PARTITIONS function has
been executed). These address regions
become numerical offsets into the load
module, which is assumed to be at seg¬
ment 0000H. The documentation from
dwb actually instructs the user to run
DOS DEBUG to determine where the
subject program is to be loaded into
memory. Then the user must record the
value and use function key F4 in Pro¬
filer to set a global CS (code segment)
value to be added to all the absolute
addresses. Because any program change
results in a change in the absolute off¬
sets of symbolic addresses, all the parti¬
tion limits that have been laboriously
entered will be invalidated whenever
the code is changed.
Furthermore, any change in the
operating system environment (such as
loading a RAM disk driver) results in
the user having to redetermine the
global CS offset. During this review, af¬
ter typing several lines of partition lim¬
its and saving them to a file, the LOAD
PARTITION FILE function resulted in an
“Invalid hex number in partition file”
error message.
The documentation provided for
Profiler is well organized and appro¬
priate for the functions provided by the
package. The program also offers some
rudimentary on-line help.
Phoenix Technologies Limited. Pfinish is
an extremely complex execution pro¬
filer of the active type. It is capable of
generating statistical reports based on
timer ticks and lists of callers of given
regions, the number of instructions exe¬
cuted in a given region, the number of
times overlays are loaded, and the num¬
ber of times a region is entered. A rich
and varied command language is pro¬
vided to support these functions.
To use Pfinish, the programmer
first must run a utility to append the
.MAP file symbolic information to the
end of the subject program’s executable
file. Pfinish commands can then refer¬
ence symbols in the table. Next, a com¬
mand file is prepared that tells Pfinish
which symbolic (or possibly absolute)
regions to INCLUDE in or EXCLUDE
from the analysis, which reports to gen¬
erate, and which modes to set. If a com¬
mand file is not provided, histograms
will be prepared by dividing the subject
program into 256 equal regions. Then
Pfinish is run, and the subject program
is executed. Finally, the user examines
the output file with a text editor (or re¬
directs the output to the screen). Figure
4 is an example of the basic Pfinish out¬
put for LOOPS.EXE.
Pfinish has some idiosyncracies that
make it somewhat difficult to learn to
use. For example, to INCLUDE all the
procedures in a given code segment for
analysis, the user must specify “IN¬
CLUDE SEGMENT proc_name” in the
command file instead of “INCLUDE
SEGMENT code__seg_name”. Here,
proc_name is the name of some proce¬
dure in the desired segment, while
code_seg_name is the name of the
segment itself. As with most active pro-
FEBRUARY 1987
169
EXECUTION PROFILERS
Innovative
Data Technology
offers a variety of 1/2
inch 9-track magnetic tape sub- *\f'
systems for the IBM-PC/XT/AT featuring
the new “LEO” PC tape controller.
“LEO” is a state-of-the-art PC tape controller that
lends itself to the most sophisticated applications in¬
cluding real time data acquisition, multitasking and
true streaming disk back-up. “LEO” comes standard
with an impressive list of features that include a dedi¬
cated microprocessor, up to 64K of RAM for buf¬
fering, high speed thruput with memory mapping
I/O—no DMA channel required, ASCII to EBCDIC
code conversion and external cable connectors for
easy installation.
Supplied on a 5 1/4" diskette is the most compre¬
hensive set of software drivers and utilities available.
Users have a choice between an installable I/O driver
with modules to “Basic” and “C” languages, or an
MT-DOS device driver, which allows direct tape access
under any language supported by DOS 3.1. Also in¬
cluded is “ANSI,” a sophisticated file transfer utility,
“TAP” a comprehensive disk back-up and restore util¬
ity and “TCMD” tape command, a valuable tool for in¬
specting tape data and format. All utilities are menu
driven with help screens for user friendly operation.
IDT manufactures the complete subsystem ... con¬
troller and tape drive. With a commitment to excel¬
lence, IDT staffs a complete customer service
department, offering you assistance to assure top per¬
formance at all times. Contact us today for additional
information.
INNOVATIVE
DATA
TECHNOLOGY
5340 Eastgate Mail • San Diego, CA 92121
(619) 587-0555 • TWX: (910) 335-1610
Western Regional Office:
10061 Talbert Ave., Suite 202
Fountain Valley, CA 92078 • (714) 968-8082
Eastern Regional Office:
One Greentree Center, Suite 201
Marlton, NJ 08053
(609) 596-4538 • TWX: (710) 833-9888
The ultimate solution
for information interchange...
The ultimate 9-track
magnetic
tape subsystem
for the IBM-PC/XT/AT
FUNCTION 6, DISPLAY PROFILE.
10% 20% 30% 40% 50% 60%
1 1.... 1.... 1.... 1_ i .... |_ i .
70% 80%
_l.... 1.
90%
_1_.|
Partition 0
1 I 1 1 1 1 I I
| | ***************(3-i ^ T5% ) (112)
i 1
... i |
Partition 1
||*★★**★**★★**★*************★***★★*(££.01%)(233)
Partition 2
||(0.00%)(0)
Partition 3
||(0.00%)(0)
Partition 4
1|(0.28%)(1>
Partition 5
||(0.00%)(0)
Partition 6
||(0.00%)(0>
Partition 7
1|(0.00%)(0)
Partition 8
|.j(0.00%)(0>
Partition 9
||(0.00%)(0>
Partition a
11(0.00%)(0)
Partition b
11(0.00%)(0)
Partition c
1 |(0.00%)(0)
Partition d
||(0.00%)(0)
Partition e
||(0.00%)(0)
Partition f
||(1.98%>(7>
1 1.... 1__ 1__1_1_1__ 1.
.... t .... t .
... i .... i
II 1 1 1 1 1 I-
10% 20% 30% 40% 50% 60%
1 i
70% 80%
... i |
90% 100%
Total samples taken = 353
Total samples hit = 353
Partition hit ratio = 100.00%
(Horizontal bars have been converted to asterisks;
underlines
deleted.)
The information given using the default ranges for the 16
bins is of little use. Useful ranges must be entered manually.
PFINISH 1
COMMAND LINE : loops
PROGRAM
EXIT STATUS : Terminated normally
PROGRAM RUN COUNT: 1
LOWEST !
STACK POINTER: 100
PROGRAM
RUNNING TIME: 00:00:24.45 445 ticks
TOTAL
RUNNING TIME: 00:00:24.45 445 ticks
HIT COUNT
$DADD
1*
1
0% 95
$DCEQ
1 *
1
0% 19
SDCLE
1
0% 20
SDCLS
1*
1
0% 1
SDCVTL
1*
1
0% 20
$DDIV
1
0% 76
SDLOAD
1**
1
0% 556
$DMUL
1*
1
0% 104
SDSTORE
1 *
1
0% 163
SENTRY
1*★**★*★*★★
1
8% 5001
SLMUL
I *
1
0% 3
SMAIN
1*
1
0% 1
CALLOC
1 *
1
0% 3
CLOSE
1 *
1
0% 3
CSCLEAR
1 *
1
0% 1
CSDSABLE
1 *
1
0% 1
EXIT
1 *
1
0% 1
FCLOSE
1 *
1
0% 3
FILENO
1*
1
0% 4
FPUTC
1*
1
0% 93
FREE
1 *
1
0% 3
FREXP
1 *
1
0% 19
LDEXP
1 *
1
0% 19
MAIN
1 *
1
0% 1
MALLOC
1 *
1
0% 3
MY_SUBR0U |**********
1
8% 5000
PRINTF
1 *
1
0% 4
SBRK
|*
1
0% 3
SETMEM
1 *
0% 4
SQRT
1 *
f
0% 20
STRCAT
1****************************
1
26% 15000
STRCPY
1*******************************************************|
53% 30065
SYSINT21
1*
1
0% 4
WRITE
1 *
1
0% 4
EXIT
1 *
1
0% 1
_FMT0UT
|*
1
0% 4
_MAI N
1 *
1
0% 1
A command file tells Pfinish which regions of the program
to analyze and which reports to generate.
170
CIRCLE NO. 108 ON READER SERVICE CARD
PC TECH JOURNAL
FIGURE 5: The Watcher PI.OT PROGRAM BY SYMBOL Output
*Plot of program by symbol
from sample file LOOPS
.IPS
MAIN
3.2%
| ****
MY_SUBROUTINE
8.0%
| ************
SENTRY
1.2%
1*
PRINTF
0.0%
1
SDLOAD
2.0%
|
SDMUL
0.8%
1*
SDDIV
4.8%
|*******
SFLOAD
0.0%
1
SFSTORE
0.0%
1 .
STRCPY
37.1%
|********************************************************
UPPER
0.0%
1
STRCMP
0.0%
1
STRCAT
34.7%
|****************************************************
SQRT
0.0%
1
92.0% of the
samples
were included in this histogram.
The Watcher from Stony Brook Software claims to be able to generate histograms
based on lines, symbols, and addresses, but, in fact, not all of the options worked.
filers, the user must instruct Pfinish to
exclude data regions from its analysis to
avoid corruption of data.
During testing, Pfinish refused to
give statistics on timer tick samples, in¬
sisting that zero clock tick samples exis¬
ted in the user program for SIN when
no command hie was specified. (It did
perform satisfactorily when an appro¬
priate command hie was prepared,
however.) Even worse, it froze the sys¬
tem when trying to analyze TERM
(which admittedly accesses the interrupt
controller chip directly) and required a
system power-off to reset. This was after
the data and stack segments were
EXCLUDEd from analysis.
Of the reviewed products, only
Phnish and Prohler can analyze resident
code. Once executed, Phnish remains
resident and collects data while the sys¬
tem goes about its business, until a sep¬
arate utility is run to terminate the sam¬
pling and produce the report. The user
is required, however, to reboot the sys¬
tem in order to return the occupied
memory to DOS.
The documentation is quite
lengthy; an index and detailed table of
contents aid the user in locating infor¬
mation. Phnish is expensive, but for the
user who is willing to learn its idiosyn-
cracies, it does provide a powerful pro¬
filing capability.
Stony Brook Software. The Watcher from
Stony Brook is a passive prohler with
separate sampling and analysis portions
that communicate by means of a data
hie generated by the sampling program.
The documentation provided is clear,
well indexed, and not overly long.
The Watcher is a bare-bones pro¬
hler that does not include a clock
speed-up feature, but it does offer rea¬
sonable symbolic support. It knows a
program is composed of segments that
are processed from various source
modules, which have line numbers, and
that code is distributed in memory by
address. A histogram can be generated
for a program, segment, or module, or
for DOS interrupts. The Watcher can
show sample counts for segments, lines,
symbols, or addresses.
For example, users can plot the
number of hits for the different seg¬
ments encountered in a program, or
they can plot the number of hits for
line numbers in a source module. In
fact, this method worked well in deter¬
mining which subprograms LOOPS was
spending its time in (see hgure 5).
The Watcher was used to prohle
the execution of SIN and TERM without
any problems. It had no trouble plot¬
ting the relative execution times in the
public procedures in the code segment.
However, it cannot plot a symbol (pro¬
cedure name) by address, because that
is not an allowed combination. Instruc¬
tion-level profiling is only possible by
means of the PLOT SEGMENT CODE BY
ADDRESS command, which requires
looking up the location of the proce¬
dure within the code segment in the
assembler output listing.
The Watcher has only one useful
command, PLOT, and a limited number
of subvarieties of this command. The
format of this command’s output is
fixed; all bins are shown even if they
received no hits. The Watcher is reason¬
ably priced; however, the amount of
data entry required, along with The
Watcher’s nonautomated mode of oper¬
ation, lessens its appeal.
FURTHER AUTOMATION NEEDED
A number of extremely powerful execu¬
tion analysis tools are available to PC
program developers, some at very rea¬
sonable cost. These tools can be quite
useful in helping programmers to op¬
timize code for maximum performance.
While product characteristics vary wide¬
ly, all of them offer, in principle, some
symbolic support and the basic func¬
tions required to do a performance
analysis. However, further automation
of the analysis process is still necessary
to free the programmer from the drud¬
gery of needless data entry. Code Sifter
and Pfinish represent the best solution
to this problem, although neither is the
final answer. 1 "ilminntel
SPTA: $129.00
Atron Corporation
20665 Fourth Street
Saratoga, CA 95070
408/741-5900
CIRCLE 352 ON READER SERVICE CARD
Code Sifter: $119.00
David Smith Software
Box 25A, RD #3
Oxford , NY 13830
607/843-6209
CIRCLE 353 ON READER SERVICE CARD
Profiler: $125.00
dwb Associates
7877 S.W. Nimbus
Beaverton, OR 97005
503/646-5607
CIRCLE 354 ON READER SERVICE CARD
Pfinish: $395.00
Phoenix Technologies Limited
320 Norwood Park S.
Norwood, MA 02062
800/344-7200
617/762-5030
CIRCLE 355 ON READER SERVICE CARD
The Watcher: $59.95
Stony Brook Software
Forest Road
Wilton, NH 03086
603/654-2525
CIRCLE 356 ON READER SERVICE CARD
Ralph G. Brickner, Ph.D., is a researcher in
parallel processing at Los Alamos National
Laboratories, where he also performs bench¬
mark tests on scientific computers.
FEBRUARY 1987
171
Why do we
make it that way?
Customers expect all accelerator
boards to run as promised. The sad
truth is they don’t. STD built it’s
reputation on fulfilling the
promise..." We build Bullet Proof
Boards!" Starting with our PC-286
accelerator board running DOS and
Protected Mode XENIX, we
continue to keep the promise with
the newest member of our family,
our 386 board.
IBM PC/XT t$ a registered trademark.
The new STD-386 16MHz board
was designed to be compatible
with 6 and 8MHz IBM PC/ATs and
popular PC/AT Clones. It is EGA
compatible and supports Real-and
Protected-Mode software. It is a
total hardware solution. From our
experience, we know our approach
insures full compatibility. The STD-
386 is a plug-and-play 80386 CPU
board taking up one slot and
offering memory choices from 1 to
16 Megabytes of RAM. An
optional 80387 coprocessor is
available.
CIRCLE NO. READER SERVICE CARD
building the world s most
286 accelerator board. Befoi
board is ever shipped,
through nearly 100 hours of
in and testing. We know our
reputation is on the line,
proudly invite you to give us a
to find out how easy it really is to
upgrade your company’s ATs with
the new world standard -
The STD-386 16MHz,
Listening to Customers is Our Fu
Seattle Telecom & Data, Inc. 12277 134th Court Redmond, Washington 98052-2429 ( 206)
PROGRAMMING PRACTICES
AUGIE HANSEN
Creating Sound with the Tinier
The PCs programmable interval timer devices
can be used to generate a wide range of sounds.
C ontrol of the sound system is one of
the bigger omissions in the support
services provided by DOS and BIOS.
The PC timer can help make up for this
lack. With the programs presented here,
it can be used to generate a wide vari¬
ety of sounds in the PC. The IBM PC,
PC/XT, and PC/r contain the Intel 8253-5
programmable interval timer (PIT), and
the PC/AT has an 8254-2 PIT; for all
practical purposes, the two chips per¬
form their functions identically. (IBM
technical reference documents refer to
the PIT as the timer I counter chip.)
All of the IBM PCs and ATs use a
timer/counter input clock frequency of
1.19318 MHz. The 8253-5 can run at a
maximum input clock rate of 2 MHz.
The 8254-2 tops out at 10 MHz accord¬
ing to the Intel specification sheets, but
IBM runs it at the same 1.19318 MHz
rate. This indicates that the original de¬
sign of the AT may have anticipated a
higher timer clock rate, but IBM de¬
cided to maintain the same rate used in
earlier PCs for compatibility reasons.
The highly compliant PIT contains
three independent timer/counter chan¬
nels. Each of the three timer/counter
channels in the 8253-5 (and the 8254-2)
PIT has the same design as summarized
in figure 1. The external view of each
channel shows a clock input, a gate
lead, and an output lead. In addition,
the entire chip has control registers and
a data buffer. Each channel is pro¬
grammed by writing a control word (ac¬
tually a single byte) to port 43H, fol¬
lowed by a count, which is presented to
port 42H as a sequence of two bytes.
At the core of each channel is a 16-
bit, synchronous down counter, which
can be preset. This counting element is
surrounded by input and output buffer¬
ing and control logic. On the input side
of the counter is a pair of 8-bit registers
(CR m and CR L ) that form a 16-bit count
register , which latches the count pro¬
grammed by the CPU. The count is
retained until it is reprogrammed.
On the output side of the counting
element is another pair of 8-bit regis¬
ters (OL m and OL l ) that form the 16-bit
output latch , which normally contains
the same value as the counting element.
Under CPU control, however, the out¬
put latch remembers the count at the
time of a read request so that a stable
value can be obtained. After the value
has been read, the output latch is al¬
lowed to return once again to following
the counting element.
The count register and output latch
are each formed from two 8-bit regis¬
ters so that the 16-bit counting element
can be accessed over the internal timer/
counter 8-bit bus, which is compatible
with the external 8-bit data bus that is
found in the PC.
Each counter/timer channel can be
individually programmed for one of six
modes (MO through M5) of operation.
(Refer to Intel’s “Microprocessor and
Peripheral Handbook,” 1984, for pro¬
gramming details. Also, the article “Life
in the Fast Lane,” by Bob Smith and
Tom Puckett, PC Tech Journal , April
1984, p. 62, contains a detailed introduc¬
tion to the PIT chips and their use as
moderately high-resolution timers.)
In a PC, channel 0 of the PIT is
used to produce a regular timer inter¬
rupt at a frequency of approximately
18.2 interrupts per second, as shown in
figure 2. A count of timer interrupts is
kept in the BIOS data area of memory
and is referred to as the BIOS time-of-
day clock. At each occurence of the tim¬
er tick, interrupt 1CH is triggered, al¬
lowing a service routine to be installed
that executes 18.2 times per second.
This interrupt is at the core of many
multitasking systems.
Channel 1 should not be tampered
with because it is dedicated to RAM re¬
fresh. The gates to both channels 0 and
1 are tied electrically high (equivalent
to a logical 1) so that the counters are
free running at all times and cannot be
disabled by software.
Channel 2 is part of the PC’s audio
subsystem. The components of the au¬
dio system are highlighted in figure 2.
The counter gate is controlled by bit 0
of an 8255 programmable peripheral in¬
terface (PPI) device. The output of
channel 2 and bit 1 of the PPI are logi¬
cally ANDed together and fed to the
audio driver circuit. The output of the
driver is fed to the speaker through a
low-pass filter. This channel can be pro¬
grammed in a variety of ways in order
to produce sound.
SOUNDING OFF
The C routines presented here provide
a basic level of audio support for the
PC. Combined with machine-indepen-
FEBRUARY 1987
173
ILLUSTRATION • MACIEK ALBRECHT
PROGRAMMING PRACTICES
SQL Compatible Query System adaptable to any
operating environment.
CQL Query System. A subset of the Structured
English Query Language (SEQUEL, or SQL)
developed by IBM. Linked files, stored views,
and nested queries result in a complete query
capability. File system interaction isolated in an
interface module. Extensive documentation
guides user development of interfaces to other
record oriented file handlers.
Portable Application Support System
Portable Windowing System. Hardware
independent windowing system with borders,
attributes, horizontal and vertical scrolling.
User can construct interface file for any
hardware. Interfaces provided for PC/XT/AT
(screen memory interface and BIOS only
interface), MS-DOS generic (using ANSI.SYS),
Xenix (both with and without using the curses
interface), and C-library (no attributes).
Screen I/O, Report, and Form Generation
Systems. Field level interface between
application programs, the Query System, and
the file system. Complete input/output
formatting and control, automatic scrolling on
screens and automatic pagination on forms,
process intervention points. Seven field types:
8-bit unsigned binary, 16 bit signed binary, 16
bit unsigned binary, 32 bit signed binary,
monetary (based on 32 bit binary), string, and
date.
$395.00
C Interpreter. Run the interpreter on any
hardware and on any operating system.
Develops true intermediate code, allowing full
.C features in an interpreter. User configurable
interface to compiler library allows linkage
with compiled routines.
HARDWARE AND FILE SYSTEM
INDEPENDENT
C J^URTZBERG
Gomputer Systems
41-19 BELL BLVD.
BAYSIDE, N.Y. 11361
VISA/Master Charge accepted
(718) 2294540
*C-tree is a trademark of FairCom
IBM, SEQUEL, PC, XT, AT are trademarks of IBM Corp.
MS-DOS and Xenix are trademarks of Microsoft Corp.
CQL and the CQL Logo are trademarks of Kurtzberg Computer
Systems.
CIRCLE NO. 148 ON READER SERVICE CARD
174
The PIT chip has only one control word register that is shared by all three chan¬
nels (which are selected by two channel-select bits in the register). Channel status
is also queried by presenting a command to the control word register.
dent time delays, these functions and
macros permit a wide range of audible
sounds to be generated by the PC’s ru¬
dimentary sound system.
The aim of these programs is to
generate tones that run in the back¬
ground. The tones’ frequencies are de¬
rived from the timer/counter clock, not
from any output of the CPU, so their
pitch is not controlled by the CPU and
will be completely independent of any
activity in which it is engaged.
The SPKR program, composed of
SPKR.C (listing 1) and SOUND.H (listing
2), allows the speaker to be turned on
and off from the DOS command line or
from batch files. Invoking SPKR ON
(any argument in place of ON will
work, too) turns the PC’s speaker on.
Invoking SPKR without any argument
turns the speaker off.
The speaker-control macros,
SPKR__ON and SPKR_OFF (defined in
SOUND.H), control the state of bits 0
and 1 of port 61H in the 8255 PPI chip
(see figure 2). When both bits are set to
logical one, achieved by ORing the cur¬
rent value of port 61H with 03H, the au¬
dio system passes the signal from the
channel 2 timer/counter to an amplifier
and low-pass filter and then on to the
speaker. When either (or both) bits 0
and 1 in port 61H is a logical zero,
sound is turned off. This is accom¬
plished by the macro SPKR_OFF, which
ANDs the current value in port 61H
with FCH, the bitwise complement of
03H. This sets bits 0 and 1 to 0 and
leaves all other bits undisturbed.
SPKR allows the user to turn sound
on and off, but gives no control over
the pitch of the tone emitted by the
speaker. The TONE program, consisting
of TONE.C (listing 3), SETFREQ.C (list¬
ing 4), and TIMER.H (listing 5), selects
the frequency by setting the count value
in channel 2 of the PIT. TONE accepts a
single command-line argument (the de¬
sired frequency in Hertz), converts the
character form of the argument to an
integer, and calls setfreq.
The setfreq function uses the val¬
ues defined in the TIMER.H header file
to set mode and counter values of PIT
channel 2. The TIMER_PREP constant is
interpreted as shown in figure 3. The
value to be placed in the PIT channel 2
count register is the divisor needed to
PC TECH JOURNAL
Sound can be turned on and off in two ways. The channel 2 timer can be gated on
or off by using its gate input, or the timer can be allowed to run freely, and timer
output can be passed to the speaker or blocked by the AND gate.
FIGURE 3: TIMER prep’s Bit Fields
B
6
1 0
SCI SCO
1 1
RW1 RWO
0 1 1
M2 Ml MO
0
BCD
SELECT
COUNTER
CHANNEL 2
READ/WRITE MODE 3
LSB FIRST, (SQUARE WAVE)
MSB SECOND
USE
BINARY
ENCODING
Although the PIT supports six modes through mode bits M0-M2, only mode 3
(square wave) is useflil in generating sound through the PC’s speaker.
produce the desired frequency by the
formula (timer clock rate / desired fre¬
quency). The counter is programmed
by writing the TIMER_PREP value to the
control port (TIMER_CTRL), followed
by the least significant byte (LSB) and fi¬
nally the most significant byte (MSB) of
the divisor.
BEYOND BEEPS
Turning the speaker on and off and
setting the pitch is only part of the
requirement for a useful package. The
duration of tones must be controlled in
a machine-independent way so that
changes in processor clock speed and
processor loading do not affect the
sound being produced.
The use of timing loops, which de¬
pend directly on the execution times of
instructions, does not work. If the CPU
clock crystal is changed, then the dura¬
tion of a sound also is changed. Instead,
the duration should depend on the
timer tick (18.2 times per second) or
something else that is regular and unaf¬
fected by machine type and CPU clock
speed. These programs use the timer
tick as its CPU-independent reference.
The constants TIMER_MAX and
TICKRATE in TIMER.H are used by the
second part of the sound-generation
package. The delay function in DELAY.C
(listing 6) takes a floating-point number
of seconds and fractional seconds as a
parameter and converts it to a long in¬
teger (ticks) that is the equivalent num¬
ber of BIOS timer ticks. The getticks
function in GETTICKS.C (listing 7) is
called to get the current tick count from
the BIOS time-of-day (TOD) clock
count stored in the BIOS data area. This
number is added to the number of de¬
lay ticks to get the count for the future
time (then) that marks the end of the
desired delay period. Then delay re¬
peatedly queries the TOD clock until
the returned value equals or exceeds
the number stored in then, thus pro¬
ducing the required delay within about
55 milliseconds, which is the resolution
of the timer tick.
Combining tone generation and
delays produces a sound routine that
behaves as the BASIC SOUND state¬
ment. The source for sound is in
SOUND.C (listing 8). A frequency and
a duration are specified. The function
sets the specified frequency by calling
setfreq, turns the speaker on, calls
delay with the specified duration
argument, and then turns the speaker
off. The demonstration program in
SOUNDS.C (listing 9) contains four
examples of audible signals that can
be produced by making sound func¬
tion calls with different arguments in
various combinations.
Recreating the executable files
from the several source files presented
here requires a fair number of compile
and link operations. MAKEFILE (listing
10) is used by MAKE (a utility that is
provided with many C compilers) to
control the compiling and linking of the
SPKR, TONE, and SOUNDS programs
along with the various modules of the
sound package. Another file called
TOOLS.INI (listing 11) contains infer¬
ence rules for use by the MAKE utility.
With MAKE as provided with Microsoft
C 4.0, it should be invoked as:
MAKE MAKEFILE
with the various source files in an ac¬
cessible directory. If MAKE is not avail¬
able, use the text of MAKEFILE as a
guide to compiling and linking.
With little or no DOS or BIOS sup¬
port, the PC sound system must be ma¬
nipulated by working very close to the
hardware. This raises the possibility that
future generations of PCs will imple¬
ment the sound system differently, and
the routines presented here may be¬
come inoperative. The best defense, as
always, is to understand the PC’s timers
and the different ways they may be ap¬
plied, so that sound control software
may evolve with the PC’s sound genera¬
tion hardware in a relatively painless
way. In the overall design scheme,
sound may not be the most important
aspect of a computer, but when used
well, it adds that extra touch of excel¬
lence to a good user interface. 1 Bmi ffil
Augie Hansen is the owner of Omniware, a
Denver-based consulting and training firm
that specializes in DOS and UNIX topics. This
article is based on material presented in his
most recent book, Proficient Q soon to be
published by Microsoft Press.
FEBRUARY 1987
175
PROGRAMMING PRACTICES
LISTING 1: SPKR.C
/*
spkr -- turn speaker ON/OFF
*
* no args => OFF
* any arg(s) => ON
V
^include "sound.h"
main(argc, argv)
int argc;
char **argv;
C
/* turn speaker on or off */
if (argc == 1)
SPKR_OFF;
else
SPKR_ON;
exit(O);
>
LISTING 2: SOUND.H
/*
* sound.h -- header for sound routines
V
#define PPI 0x61
#define SPKR 0x03
#define SPKR_ON outp(PPI, inp(PPI) | SPKR)
#define SPKR_OFF outp(PPI, inp(PPI) & -SPKR)
LISTING 3: TONE.C
tone -- set the frequency of the sound generator
7
#inctude <stdio.h>
main(argc, argv)
int argc;
char **argv;
ft
(
extern void setfreq(unsigned int);
if (argc »= 2) (
fprintf(stderr, "Usage: tone hertz\n");
exit<1);
>
/* set the frequency in Hertz */
setfreq(atoi(*++argv));
exit(0);
LISTING 4: SETFREQ.C
'
/*
* setfreq -- sets PCs tone generator to run
* continuously at the specified frequency
#include <conio.h>
#include "timer.h"
Mft;
void
setfreq(f)
unsigned f; /* frequency in Hertz (approximate) */
C
unsigned divisor = TIMER_CLK / f;
outp(TIMER_CTRL, TIMER_PREP); /* prepare timer */
outp(TIMER_COUNT, (divisor & OxFF)); /* low byte of divisor */
outp(TIMER_COUNT, (divisor » 8)); /* high byte of divisor */
LISTING 5: TIMER.H
/*
* timer.h -- header for timer control routines
*/
/* timer clock and interrupt rates */
#define TIMER_CLK 1193180L
#define TIMER_MAX 65536L
#define TICKRATE (TIMER_CLK / TIMER_MAX)
/* timer port access for frequency setting */
#define TIMER_CTRL 0x43
#define TIMER_COUNT 0x42
#define TIMER_PREP 0xB6
USTING 6: DELAY.C
/*
* delay -- provide a delay of ** approximately ** the
* specified duration (resolution is about 0.055 second)
*/
#include "timer.h"
void
delay(d)
float d; /* duration in seconds and fractional seconds */
long ticks, then;
extern long getticksO;
/* convert duration to number of PC clock ticks */
ticks = d * TICKRATE;
/* delay for the specified interval */
then = getticksO + ticks;
while (1)
if (getticksO > then)
LISTING 7: GETTICKS.C
getticks --
/*
*
*/
#include <dos.h>
'rent BIOS clock ticks value
#define TOO
#define READ_COUNT 0
#define TICKS PER DAY
long
getticksO
-
long count;
union REGS inregs, outregs;
/* get BIOS time of day as no. of ticks since midnight */
inregs.h.ah = READ_COUNT;
int86(TOO, &inregs, Soutregs);
/* correct for possible rollover at 24 hours */
count = (outregs.h.al != 0) ? TICKS_PER_DAY : 0;
/* add current day ticks */
count += (outregs.x.dx + (outregs.x.cx « 16));
LISTING 8: SOUND.C
/*
* sound -- produce a constant tone for a specified duration
V
#include <conio.h>
#include "sound.h"
void
sound(f, dur)
unsigned int f; /* frequency of pitch in Hertz */
176
PC TECH JOURNAL
float dur; /* in seconds and tenths of seconds */
f
extern void setfreq(unsigned int);
extern void detay(float);
/* set the frequency in Hertz */
setfreq(f);
/* turn the speaker on for specified duration */
SPKRJDN;
delay(dur);
SPKR_OFF;
>
LISTING 9: SOUNDS.C
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define ESC 27
extern void sound(unsigned int, float);
main()
int ch;
fprintf(stderr, "1=warble 2=error 3=confirm 4=warn\n");
fprintfCstderr, "Esc=quit\n M );
while ((ch = getchO) != ESC)
switch (ch) C
case 1 1
1 •
warble();
break;
case '2
i.
errorQ;
break;
case '3
1 •
confirm() ;
break;
case '4 !
i.
warn();
break;
>
exit(O);
>
#define CYCLES
3
#define LOTONE
600
#define HI TOME
1200
#define PERIOD
0.1
warble()
C
int i;
for (i
= 0; i < 2 * CYCLES; ++i)
if (i % 2)
sound(LOTONE, PERIOD);
else
sound(H!TONE, PERIOD);
>
error()
C
float d = 0.1;
sound(440, d);
sound(220, d);
}
confirm()
C
float d = 0.1;
sound(440, d);
sound(880, d);
>
warn()
C
float d = 0.2;
sounddOO, d);
>
LISTING 10: MAKEFILE
# makefile for
time delay and sound routines
# --- timing and sound functions —
delay.obj:
delay.c timer.h
getticks.obj:
getticks.c
setfreq.obj:
setfreq.c timer.h
sound.obj:
sound.c sound.h
sounds.obj:
sounds.c
spkr.obj:
spkr.c sound.h
tone.obj:
tone.c
# --- demonstration programs ---
sounds.exe: sounds.obj sound.obj
link $* sound delay getticks setfreq;
spkr.exe: spkr.obj
link $*;
tone.exe: tone.obj
link $* setfreq;
LISTING 11: TOOLS.INI
[make]
.c.obj:
msc $*;
80386
SOFTWARE DEVELOPMENT TOOLS
The PharLap 8038 6 Software Development Series:
386 1 ASM/LINK by Phar Lap (MS-DOS®) $495
Full-featured macro assembler and linker. Includes a de¬
bugger and 32-bit protected mode runtime environment.
80386 High-C™ by MetaWare (MS-DOS®) $895
80386 Professional Pascal™ (MS-DOS®) $895
by MetaWare
UNIX™ and VAX/VMS® cross tools (call)
The wait for professional software development tools
for the 80386 is over! Whether you are upgrading an
existing IBM PC application to the ’386, moving a
mainframe application down to a PC, or writing the
next PC best-seller, the Phar Lap 80386 Software
Development Series is for you. It is an integrated line
of products which provides everything you’ll need to
create and run 80386 protected mode applications
under MS-DOS.
(617) 661-1510
Phar Lap Software, Inc. “The 80386 Software Experts”
60 Aberdeen Ave. Cambridge, MA 02138
FEBRUARY 1987
CIRCLE NO. 146 ON READER SERVICE CARD
177
IF YOU NEED $5,000.. $20,000 EVEN UP TO $500,000 TO
START A NEW BUSINESS OR TO EXPAND AN EXISTING
FIRM—THEN READ WHY YOU TOO WILL CALL THIS
INCREDIBLE MONEY RAISING
BUSINESS OPPORTUNITY SEEKERS’ LOANS MANUAL
“The Small Business Borrower’s Bible
Practically prepares the loan application for you line-by-line...the “proper” way.
All properly prepared applications are processed faster...no red tape!
EVERY
LOAN DOLLAR
YOU GET
YOU KEEP
AND USE TO
OPERATE
YOUR BUSINESS
Guaranteed Loans...Direct Loans...and Immediate Loans are available now!
Most men and women seriously interested in starting their own business are eligible to apply — including those who already own a business and need
capital fast for expansion...or to stay afloat...even if they’ve been flatly refused by banks and turned down elsewhere! Yet, too many never qualify, simply
because they do not know how to “properly’’ prepare the loan application...
In order to help those people
applying for these guaranteed and
direct loans fill out their loan appli¬
cations the "right way" our business
researchers, with their diligent com¬
pilation and effective efforts, have
successfully assembled and pub¬
lished a comprehensive, easy-to-
follow seminar manual: The Business
Opportunity Seekers’ Loans Manual, i
that will quickly show you practically |
everything you’ll need to know to prepare
a loan application to get federally
Guaranteed and Direct Loans.
Here are just some of the many
important benefits the Business
Opportunity Seekers’ Loans Manual
provides you with:
• a completely filled in sample set
of actual SBA loan application
forms, all properly filled in for
you to easily follow—aids you in
quickly preparing your own
loan application the right way.
Each line on the sample appli¬
cation forms is explained and
illustrated in easy-to-under-
stand language.
• fast application preparation
procedures for getting loans for
both new start up business
ventures and established firms.
• advises you on how to properly
answer key questions neces¬
sary for loan approval and in
order to help avoid having your
application turned down—gives
you advice on what you should
not do under any circumstances.
• what simple steps you take to
guarantee eligibility—no matter
if you do not presently qualify.
• where you can file your appli¬
cation for fastest processing.
At this point the most important
question you want answered is
Just where is all this loan money
coming from 7 Incredible as it may
sound—these Guaranteed Loans.
Direct Loans and Immediate
Loans are indeed available right
now — from the best, and yet. the
most overlooked and frequently
the most ignored and sometimes
outright ridiculed made-fun-of
source of ready money fast
capital, m America — THE
UNITED STATES GOVERNMENT
Of course there are those who
upon hearing the words ' UNITED
STATES GOVERNMENT will
instantly freeze up and frown and
say
“ only minorities can get small
business loan money from the
government!”
Yet on the other hand (and most
puzzling) others will rant on and on
and on that
“ . don’t even try, it’s just impos¬
sible — all those Business Loans
Programs are strictly for the Chryslers,
the Lockheeds, the big corpora¬
tions, not for the little guy or small
companies” etc.
Sti‘11 there are those who
declare
"...I need money right now and
small business government loans
take too dam long Its impossible
to qualify No one ever gets one of
those loans '
Or you may hear these
comments
My accountant's tumor
assistant says he thinks it might be
a waste of my time 1 " “Heck, there s
too much worrisome paperwork
and red tape to wade through.”
Frankly — such rantings and
ravings are just a lot of “bull”
without any real basis — and only
serve to clearly show that lack of
knowledge ... misinformation ...
and not quite fully understanding
the UNITED STATES GOVERN¬
MENT'S Small Business Adminis¬
tration's (SBA) Proqrams have
unfortunately caused a lot of
people to ignore what is without a
doubt — not only the most
important and generous source of
financing for new business start
ups - and existing business
expansions in this country — but
of the entire world 1
Now that you've heard the "bull”
about the United States Govern¬
ment's SBA Loan Program — take
a few more moments and read the
following facts
• Only 9.6% of approved loan* *
were actually made to minorite*
last year
• What SBA recognizes as a
"small business" actually
applies to 97% of all the
companies in the nation
• Red tape comes about only
when the loan application is
sent back due to applicant not
providing the requested infor¬
mation...or providing the wrong
information
• The SBA is required by
Congress to provide a minimum
dollar amount in business loans
each fiscal year in order to law¬
fully comply with strict quotas.
(Almost 5 billion this year)
Yet. despite the millions who
miss out — there are still literally
thousands of ambitious men and
women nationwide who are prop¬
erly applying — being approved
— and obtaining sufficient funds
to either start a new business, a
franchise, or buy out or expand an
existing one Mostly they are all
just typical Americans with no
fancy titles, who used essentially
the same effective know-how to
fill out their applications thatyou'll
find in the Business Opportunity
Seekers’ Loans Manual
So don t you dare be shy about
applying for and accepting these
guaranteed and direct government
loans Curiously enough the
government is actually very much
GUARANTEE #1
Simply — look over this most
effective money raising loan
preparation assistance manual
for 15 days — and. then, if you
are not convinced that it can
actually help you obtain the
Business Loan you need right
away — just return it for a full
and prompt refund
GUARANTEE #2
Even after 15 days — heres how
you are still strongly protected
- if you decide to keep the
manual — and you apply for an
SBA Loan anytime within 1
year your loan must be
approved and you must actually
receive the funds or your money
will be refunded in full
interested in helping you start a
business that will make a lot of
money It's to their advantage —
the more money you make the
more they stand to collect in taxes
in fiscal 1986, our nation’s good old
generous "uncle" will either lend
directly or guarantee billions of
dollars m loan requests, along with
technical assistance and even
sales procurement assistance
Remember. If you don't apply for
these available SBA funds
somebody else certainly will.
Don't lose out — now is the best
time to place your order for this
comprehensive manual It is not
sold in stores. Available only by
mail through this ad, directly from
Financial Freedom Co., the ex¬
clusive publisher, at just a small
fraction of what it would cost for
the services of a private loan
advisor or to attend a seminar.
For example:
Initially, this amazing Guaran¬
teed and Direct Loans Manual was
specially designed to be the basis
of a Small Business Loan Seminar
— where each registrant would
pay an admission fee of S450 But
our company felt that since the
manual's quality instructions were
so exceptionally crystal-clear that
anyone who could read, could
successfully use Its techniques
without having to attend a seminar
cr pay for costly private loan
advisory assistance services
Therefore, for those purchasing
the manual by mail. no3day class,
no course and accommodations
are required And rather than S450
we could slash the fyice all the
way down to just a mere $20 — a
small portion of a typical serftmar
attendance fee — providing you
promptly fill m and mail coupon
below with fee while this special
seminar-m-print" manual offer is
still available by mail at this rela¬
tively low price 1
Remember, this most unique
manual quickly provides you with
actual sample copies of SBA Loan
application and all other required
forms—already properly filled m
for you to easily use as reliably
accurate step-by-step guides —
thus offering you complete
assurance that your application
will be properly prepared and
thereby immediately putting you
on the right road to obtaining fast
no r ed-tape loan approval
Only because we are so confi¬
dent that this is a fact do we dare
make such a strong binding
seldom-heard-of Double
Guarantee No stronger
guarantee possible! _
Of course, no one can guarantee
that every request will be ap¬
proved—but clearly we are firmly con¬
vinced that any sound business re¬
quest properly prepared —showing a
reasonable chance of repayment and
submitted to SBA —will be approved.
THOUSANDS ARE
PROPERLY APPLYING
AND BEING APPROVED.
HERE’S YOUR CHANCE
TO JOIN THEM!
GUARANTEED YOUR LOAN MUST BE APPROVED OR MONEY BACK - ONLY A
SMALL PRICE TO PAY FOR THE LOAN YOU CAN GET . NO RISK AND NO HASSLES.
FREE BONUS
If you order your manual
today you’ll receive a valuable
treasury of fast. easy, low-
capital and highly profitable
business programs worth forty-
five dollars — yours abso¬
lutely free'
100% tax deductible as .a
business expense. Don’t delay —
order your copy today!
i NO RISK LOAN OPPORTUNITY FORM
Detach and rush lor
COMPLETE PREPARATION
ASSISTANCE FOR LOAN APPROVAL
Please rush me_copies of
“Business Opportunity Seekers’
Loans Manual” each at a $20 fee
plus $3.00 handling and shipping.
I am fully protected by the two strong
guarantees above. I'm ordering today
- so I can receive FREE - the valuable
treasury of fast, easy, low-capital and
highly profitable business programs
worth forty-five dollars - mine free
to keep even if I decide to return the
manual for a full refund.
Cj Enclosed is Full Payment
□ Cash [ Check i Money Order
Send payment with order.
Name_
Please Print Clearly
Address_
City.
-Zip
State _
MAIL TO:
Financial Freedom Publishers
110 W. 5th St.
Winston-Salem, NC 27101
©1985
PRODUCTWATCH
Reviews
and
Updates
VECTOR87
Magic Software , Inc.
ADIC MODEL TD
ADIC
440
■ HIGH-C
MetaWare, Inc .
C ombining the assembly language
routines in Magic Software’s vector-
87 library with interpreted Microsoft
BASICA is like bolting a 100-horse-
power motor on a dingy. Taking a
1,024-point Fast Fourier Transform in
2.5 seconds with interpreted BASIC is
positively neck-snapping. vector87’s
package of 312 optimized assembly lan¬
guage routines provide lightning-fast,
accurate vector and matrix manipula¬
tions. The minimum requirements for
using the vector87 library are an 8087
or 80287 numerical coprocessor in an
IBM PC or PC/AT machine with at least
256KB of RAM and two diskette drives.
The routines are not copy protected.
vector87 offers a huge variety of
single- or double-precision vector and
matrix manipulations from a single-line
GALL statement. It can be used to solve
linear systems of equations, invert ma¬
trices, take fast Fourier transforms, eval¬
uate transcendental and hyperbolic
functions and their inverses in real or
complex form, find histograms, do table
look-ups, calculate mean square roots,
generate arrays of random numbers,
and evaluate polynomials. vector87 also
can perform a wide variety of complex
vector and matrix manipulations, logical
operations and comparisons, Cartesian
to polar conversions, and more.
The first step in using vector87 is
to enter BASICA/M:,&H2000 at the DOS
prompt. This reserves room for the as¬
sembly language routines outside of the
BASICA code segment so that the BASIC
source code can still occupy as much as
64KB of RAM. The BASIC source code
then can be written—defining the de¬
sired precision, declaring all subroutine
parameters, and, finally, CALLing upon
any of the needed library functions with
a single line of BASIC with a sensible
and clear syntax. The application source
code then is merged with a provided
vector87 BASIC source file. When the
completed program is run, all essential
assembly language code containing all
of the necessary assembly code inter¬
face is BLOADed by one GOSUB call
that is provided with the package.
The documentation is well written
and clearly indexed. The system in¬
cludes BASIC program examples that
call each vector87 subroutine at least
once. Several Turbo Pascal programs
also are included so that users with
Turbo-87 Pascal can compile them and
compare their execution times with the
corresponding vector87 demos. Gener¬
ally, the demos execute 20 to 50 per¬
cent faster than similar code written in
Turbo-87 Pascal. This percentage is a bit
misleading because it does not contain
some of the interpreted BASIC sections
of code that may be necessary.
This package is not a set of gen¬
eral-purpose numerical analysis rou¬
tines, but one that focuses on vector
and matrix manipulations. For example,
to evaluate an integral numerically, to
find the roots to a function, or to inte¬
grate a differential equation, these rou¬
tines must be built from scratch. Even if
some of the primitives from vector87
can be used, the user usually will have
to perform some of the calculation with
interpreted BASIC alone, which loses
much of the performance gains realized
from the assembly language routines.
This is especially a problem because in¬
terpreted BASIC uses a format different
from the IEEE real-number format used
by the 8087. Also, because vector87’s
machine code functions cannot call one
another, control must return to inter¬
preted BASIC after each function call. In
applications that must execute a great
many of the function calls, performance
may lag significantly behind the per¬
formance of a Turbo-87 Pascal program
written to accomplish a similar task.
For all its power, serious problems
arise in using vectors, which require a
cold reboot to ultimately escape. The
worst problems come from the nonex¬
istent error trapping for calls to the as¬
sembly language routines. Each routine
requires strict type-assignment; only
variables (not constants) can be passed
to subroutines, and all parameters must
be initialized before they are passed,
even if the initialization is equal to 0, as
BASIC does by default. No error mes¬
sages occur if any one of these con¬
straints is violated or if a subroutine
that was not previously BLOADed is
called. The manual says, “As these func¬
tions operate outside the environment
and protection of BASIC, it is entirely
up to you to ensure that the parameters
in the CALL list match the number, type,
and length with the parameters ex¬
pected by the vector87 function. Any
mismatch here will cause the operating
system to ‘crash.’ This should be easy to
ascertain as BASIC will likely fail to re¬
spond to keyboard commands.” Obvi¬
ously, a crash is “easy to ascertain”
when a cold reboot is required.
There are no return codes to indi¬
cate whether a routine has been com¬
pleted properly or not. Truly nefarious
problems happen when errors are si¬
lently generated and all seems well—a
FEBRUARY 1987
179
PRODUCT WATCH
situation that occurs all too easily. For
example, if the user tries to invert a ma¬
trix and fails to set a calling parameter
that specifies the number of arrays in a
vector of arrays, BASIC will initialize the
parameter to equal 0—a meaningless
value in this context. The matrix inver¬
sion routine then just quietly generates
errors and returns meaningless values
as if nothing is wrong.
The same silent generation of er¬
rors occurs when the user attempts to
invert a singular matrix—one with a
determinant equal to 0 and, hence, no
inverse. The routines do not check to
see if the array subscripts are within
bounds. Once again, the manual states,
“Overrunning array bounds, particularly
when storing data to memory, will gen¬
erally crash the system at best or at
worst give you no indication of a fault
but wrong answers and perhaps a
BASICA interpreter that doesn’t work
correctly!” This wild behavior is ration¬
alized in the manual with the statement,
“vector87 does not check subscripts
against bounds and gives you back that
time for number crunching. The price
you pay for this added speed is that
VECTOR87 leaves it to you to manage
your own data resources.” Anyone with
programming experience knows this is
completely false economy. Only small
amounts of code and execution over¬
head are required to check for reason¬
able input parameters and index array
bounds. Then the user is free from any
uncertainty and many hours of frustrat¬
ing debugging as well.
Debugging BASIC with VECTOR87
code is extremely frustrating. For exam¬
ple, although BASIC automatically ini¬
tializes all variables to 0, if the user
does not explicitly initialize the deter¬
minant of the matrix (found as part of
the inversion algorithm) to 0 before
calling the matrix inversion routine, the
system locks. Interpreted BASIC permits
easy coding and debugging, even if the
BASIC editor seems painful by modern
standards. With the unruly assembly lan¬
guage routines from vector87, however,
frequent crashes occur without a clue
as to the cause.
Until the error trapping and debug¬
ging improves, vector87 cannot be rec¬
ommended. Anyone desiring serious
numerical analysis should get one of
the good standard compilers on the
market and a set of numerical analysis
routines. Although useful work can be
accomplished with vector87’s fast rou¬
tines, the development process often is
more difficult than it should be.
—VICTOR MANSFIELD
ADIC MODEL TD 440 DATA
CARTRIDGE TAPE SYSTEM
ADIC
P.O. Box 2996
Redmond , WA 98013
206/881-8004
PRICE: $1,595
T he ADIC Model TD 440 Data Car¬
tridge Tape System is a miniature
version of ADIC’s Model 552, which was
reviewed in “Moving Up To Tape”
(Steven Armbrust and Ted Forgeron,
November 1985, p. 63). While the
Model 552 is as large as the typical
computer’s system unit, the Model TD
440 measures only 10 inches by 6
inches by 3.25 inches and can be easily
squeezed onto a crowded desktop.
This unit’s small size is attributable
to its tape format. Instead of using 5 V 4-
inch cartridge tapes, the Model TD 440
uses the new 3M 3-inch DC2000 mini¬
tapes. On each of these tapes, the Mod¬
el TD 440 can store 40MB of data. If
this is not enough, a backup session can
be split across multiple tapes.
The tape drive plugs into an SCSI
(Small Computer Systems Interface)
controller, a half-size card that can fit in
the short slot of a PC/XT. Installation is
simply a matter of inserting the card
and connecting the cable, although the
DMA channel used for tape operations
can be changed via jumpers, if the de¬
fault channel (2) conflicts with other
hardware in the user’s system. An addi¬
tion to the CONFIG.SYS file is all that is
needed to make the drive ready to use.
Like other ADIC units, the Model
TD 440 sacrifices speed for data integ¬
rity. For example, each time a new tape
cartridge is inserted, the drive spends
between one and two minutes perform¬
ing electrical and mechanical align¬
ments. During this time, the drive re¬
winds the cartridge, sets the amplifier
gain control, retensions the tape, re¬
aligns the head in reference to the edge
of the tape and to the data tracks, and,
finally, verifies its ability to read the
tape’s formatting information.
Although the Model TD 440 accepts
any DC2000 tapes, the amount of time
required to format a tape will lead most
users to order preformatted tapes di¬
rectly from ADIC. Each blank tape re¬
quires a low-level format that consumes
approximately 48 minutes, and a DOS
format that consumes 2 minutes. Once
the low-level format has been done, it
need not be done again, even if margi¬
nal or bad blocks develop. Instead, a
verify operation can be performed to
map out the bad blocks. This verify op¬
erations takes about 25 minutes.
The formatting time is lengthy, in
part because the tape is set up as either
one 32MB or two 17.8MB DOS vol¬
umes; creating DOS format information
on a tape is much more complex than
preparing a tape for a simple streaming
drive. File I/O can be performed just as
it is on any DOS volume, using stan¬
dard COPY, ERASE, and DIR commands
available with DOS. The drive is treated
just like a hard disk, taking the next (or
next two) drive letters when the system
is initialized. Programs can even be exe¬
cuted from tape, just as if they resided
on a disk drive. Another reason for the
unit’s lengthy format is that it must gen¬
erate one error-correction block for
every three data blocks.
In addition to working with stan¬
dard DOS commands, the Model TD
440 also includes special backup and
restore programs called SARCHIVE and
SRESTORE. SARCHIVE can operate in
automatic mode, in which it backs up
all subdirectories under the starting
directory, or it can prompt to continue
after backing up each directory. In addi¬
tion, the user can create a file that lists
specific files or directories to include or
exclude when backing up. An option is
also available to generate a log file
showing each file that was backed up
during the session.
Both the SARCHIVE and SRESTORE
programs display convenient statistics
while performing their operations. They
estimate the time of completion before
beginning the backup or restore opera¬
tion and display the elapsed time as
they proceed. The number of files and
directories, as well as the amount of
data backed up or restored (in kilo¬
bytes) also are updated constantly. The
files that SARCHIVE stores on tape also
can be accessed by the standard DOS
commands. Therefore, after using
SARCHIVE to back up a disk drive, the
tape can be examined by using' the DIR
command (for example, DIR D: if the
tape drive is drive D).
The SARCHIVE and SRESTORE pro¬
grams are menu driven, but they also
180
PC TECH JOURNAL
can be invoked from the command line
for inclusion in a batch hie. In addition,
the Model TD 440 includes a program
called WAITUNTL that enables the
backup program to be invoked now for
execution at a later time.
The one area in which the Model
TD 440 is lacking is speed. Backing up
approximately 10MB of data (10,223,616
bytes in 614 hies and 23 directories)
takes 17 minutes and restoring the
same amount of data takes 90 minutes.
This is approximately the same per¬
formance as the Model 552, and that
unit was one of the slowest tested.
Despite the slow performance of
the Model TD 440, the sophisticated
error detection/correction algorithms
used in the unit may convince users
who are particularly concerned about
data integrity that the extra time is well
spent. One out of every three 8,192-byte
blocks of data is devoted exclusively to
error correction. Therefore, if an error
occurs in one block of data, the tape
drive can correct it by comparing the
error correction block with the other
associated data block.
The Model TD 440 offers all of the
features of the Model 552 in a much
smaller, and more convenient, package,
but users must be willing to put up
with its lengthy backup sessions.
—STEVEN ARMBRUST
HIGH-C
MetaWare, Inc.
903 Pacific Avenue , Suite 201
Santa Cruz, CA 95060-4429
408/429-6382
PRICE: $493
CIRCLE 350 ON READER SERVICE CARD
M etaWare’s High-C stands out in con¬
trast to down-sized and scaled-back
C compilers. High-C is even an excel¬
lent alternative to the venerable Micro¬
soft C and Lattice C compilers. High-C
also has some uniques features that will
appeal to software product developers.
The basic specifications for High-C are
shown in table 1.
The compiler is shipped with sev¬
en diskettes. Installation of the compiler
is done by a .BAT file that creates the
necessary subdirectories and copies the
libraries and modules to them. A hard
disk is required to use the High-C; with
all of the memory models installed, the
compiler and libraries occupy 2.6MB.
The installation process is clearly ex¬
plained in the manual. Several demon¬
stration programs can be run to verify
that the compiler is functioning prop¬
erly; sample compilations for all mem¬
ory models are included.
Along with the compiler and librar¬
ies, High-C offers a directory that is full
of UNIX-like utilities, including MV
(move) and FGREP (a pattern finder).
An even more useful addition to High-C
is a cross-reference utility that generates
a listing of functions and variables that
are assigned and referenced within a C
program. Unlike many cross-refer-
encers, it can process include files and
The Digi-Data 2000 PC tape system reads and writes
IBM/ANSI compatible, 9 track, 1600 bpi, V 2 inch tapes.
It comes complete with PC controller board, cables and
DOS software utilities. Just plug it in and run.
The 2000 PC provides file interchange in ASCII,
EBCDIC or binary. That means you can exchange data
between your PC and most minis or mainframes.
The 2000 PC also provides high speed disk backup and
restore functions.
For all the reasons you
need a 9 track tape on your
IBM PC/XT/AT, call us at
(301) 498-0200.
DIGI-DATA
CORPORATION
8580 Dorsey Run Road
Jessup, MD 20794-9990
(301) 498-0200 Telex 87-580
... First In Value
In Europe contact: Digi-Data Ltd. • Unit 4 • Kings Grove • Maidenhead, Berkshire
England SL6 4DP • Telephone No. 0628 29555/6 • Telex 847720
CIRCLE NO. 123 ON READER SERVICE CARD
FEBRUARY 1987
181
PRODUCT WATCH
multiple modules. To use the cross-ref-
erencer, a compilation option must be
selected to generate a cross-reference
file along with the object.
Table 2 lists the features of the
High-C compiler and language. High-C
is implemented as a command that gen¬
erates an .OBJ file which must be
linked to produce a final .EXE file. In
actual use, the compiler operates in one
of two distinct environments, High-C
and ANSI standard. The High-C environ¬
ment is a superset of K&R (Kernighan
and Ritchie) C, but with extensions,
such as the ability to use underscores in
constants, to intermix declarations and
statements anywhere in a function, and
to use long (up to a line in length)
identifiers. These extensions are for im¬
proved readability and maintenance of
source code. Another convenience is
High-C’s implementation of frequently
used functions, such as abs( ), min( ),
and move( ), as intrinsic functions that
have been optimized by MetaWare for
the target processor.
TABLE 1: Specifications
Version tested 1.3
Supported on other systems See text
Cross-compiler hosts See text
Availability of libraries Yes
Minimum disk space 1.3MB
Minimum RAM 256KB
Supports full language
Yes
Full standard library
Yes
PC-specific functions
Yes
Assembly language interface Yes
COMPATIBILITY
MASM
Yes
LINK
Yes
SOURCE CODE
Start-up sequence
No
Library functions
No
MEMORY MODELS
Large
Yes
Medium
Yes
Compact
Yes
Small
Yes
COM
No
OTHER PROGRAMS
INCLUDED
Librarian
No
Assembler
No
Linker
No
Source-level debugger
No
MAKE
No
Other
See text
These specifications can be compared with those ; j
for other C compilers in table 1 in “The State of
C, " (William J. Hunt, January ; 1986, p. 84). See
also table 1 in Marty Franz’s Product Watch re¬
views of Whitesmith's C Compiler (June 1986,
p. 201), Let's C (August 1986, p. 177) and MIX
C (September 1986, p. 191)
High-C supports all memory models
and creates .OBJ files that are linkable
by DOS LINK or Phoenix Plink86.
Along with these minor extensions,
High-C has included some radical ones,
namely parameter associations, nested
functions, and full-function values. Us¬
ing named parameter associations (a
concept borrowed from Ada), a pro¬
grammer is able to call a function and
specifically match the function’s param¬
eter names with their chosen values us¬
ing = >. Thus, he can choose the order
of a function’s parameters. With Pascal¬
like nested functions, a C programmer
can write private functions that share
data inside other functions, thereby in¬
creasing the ability to hide data in a
module. The full-function values allow a
programmer to store a nested function’s
environment and its value in another
variable and to reference the entire
environment through it.
The Most Powerful &
Flexible Source Code Revision
& Version Control System.
The POLYTRON Version Control System (PVCS) allows programmers, project
managers, librarians and system administrators to effectively control the proliferation
of revisions and versions of source code in software systems and products. PVCS is a superb
tool for programmers and programming teams. If you allow simultaneous changes to a
module PVCS can merge the changes into a single new revision. If changes conflict,
the user is notified. Powerful capabilities include: Stores and retrieves multiple revisions
of text; Maintains a complete history of revisions to act as an “audit trail” to monitor
the evolution of a software system; Maintains separate lines of development or “branch-
ing”; Provides for levels of security to assure system integrity; Uses an intelligent
“difference detection” to minimize the amount of disk space required to store a new
version. Requires DOS 2.0 or higher. Compatible with the IBM PC, XT, AT and other
MS-DOS PCs.
Only PVCS meets the needs of Independent Programmers and Corporations.
Once you standardize on PVCS, the “Logfiles” used to track and monitor
changes are interchangable between any PVCS product. You will receive full
credit for your initial purchase if you upgrade to a higher-priced PVCS.
— Offers most of the power and flexibility of the
Corporate PVCS, but excludes the features necessary for multiple-
programmer projects.
— Offers additional features to maintain source code of very
large and complex projects that may involve multiple programmers. Includes
“Branching” to effectively maintain code when programs evolve
on multiple paths (e.g., new versions for different systems, or a new
program based on an existing program). Single user.
— Extends Corporate PVCS for use on Networks. File locking
and security levels can be tailored for each project. 5-Station
License $1,000. Call (503) 645-1150 for pricing on Licenses for
more than 5 Stations.
VISA/MC ♦ Dept. No. 310.
Oregon and outside US call (503) 684^3000. Send Checks, P.O.s to: POLYTRON
Corporation, 1815 NW 169th Place, Suite 2110, Dept. 310, Beaverton, OR 97006.
■polytro«
High Quality Software Since 1982
CIRCLE NO. 164 ON READER SERVICE CARD
182
PC TECH JOURNAL
Consult with the expert^
When you're the
f EMM PC systems ex-
PORNAL pert yo U r com-
" Every issue pro-
vides you with
technical insights into IBM PC and
compatible systems to help you
solve problems and questions that
you find in your job.
Subscribe to PC TECH JOURNAL now
and save 50%!
□ One year (13 issues] $26.70. □ Two years (26 issues] $53.35
Includes Special PC TECH JOURNAL DIRECTORY Issue,
published in November.
Mr./Mrs./Ms.__
5S373
Company.
Address.
State __Zip__
Check one: □ Payment enclosed □ Bill me later
Savings based on annual single-copy price of $53.35.
Add $8 per year for postage in Canada and all other foreign countries,
US currency only. Please allow up to 60 days for delivery of first issue.
Basic annual subscription price is $34.97.
FREE WITH YOUR PAID SUBSCRIPTION,
THE PC TECH JOURNAL DATA MANAGER
REVIEW, A COMPREHENSIVE EVALUATION
OF 7 LEADING DATA MANAGERS WITH
BENCHMARK TESTS!
—
77T^^HflMSrriSH
I I II NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
BUSINESS REPLY MAIL
FIRST CLASS PERMIT NO. 66 BOULDER. COLORADO
POSTAGE WILL BE PAID BY ADDRESSEE
TE<SH
OURNAL
- P.O.BOX 52077
BOULDER, CO 80321-2077
II..I.II.II.nl,In,IM,III, mI.mIL,III,„ l
TABLE 2: Compiler. Functions
TABLE 3: Documentation Quality
COMPILER OPERATION
Single-step compile command
Yes
Compile and link
No
Accepts lists of files
No
Accepts wild cards
No
Lists preprocessor output
Yes
Lists assembler output
Yes
Line numbers in error messages
Yes
Header file search list
Yes
Flexible disk file layout
Yes
C LANGUAGE EXTENSIONS
Embedded assembly language
No
Void function returns
Yes
Enumerated types
Yes
Structure assignment, etc.
Yes
Function argument checking
Yes
LIBRARY EXTENSIONS
Math functions (sqrt, exp, etc.)
Yes
Unbuffered file I/O
See text
Keyboard input (low-level)
See text
PC screen output (cursor control,
See text
cursor attributes, scroll)
Execute programs/DOS
No
(exec/fork and system)
DOS services (date, time, etc.)
See text
PC-specific functions
Some
UNIX-compatible functions
Yes
Error recovery (setjmpQ, longjmpQ)
Yes
FILE I/O
Redirection
Yes
Full path names
Yes
DOS 1.1 support
No
DOS 3.1 file sharing
Yes
Record locking
Yes
ASCI I/binary mode
Yes
MEMORY USAGE
Overlays
Yes
Default stack size
Yes
Stack size settable
No
Stack overflow checking
Yes
8086 FAMILY SUPPORT
Byte/word alignment
Yes
80186/80286 support
Yes
8087/80287 support
Yes
Automatic sensing
Yes
ROM support
Yes
These features can be compared with other C compilers in table 2 in “The
State of C, ” (William J. Hunt, January 1986, p. 86). See also table 2 in Mar¬
ty' Franz's Product Watch reviews of Whitesmith's C Compiler (June 1986, p.
202), Let's C (August 1986, p. 178) and MIX C (September 1986, p. 192)
High-C is a full-featured compiler that supports both the
proposed ANSI C standard and a useful set of extensions.
INSTALLATION
Packing list
Yes
File inventory
Yes
Key files described
Yes
Quick step-by-step procedure
Yes
Instructions for diskette and
Yes
hard-disk configurations
List changes from last version
Yes
SET-UP
Set-up assumptions described
Good
Notes on RAM/second hard disk
Good
OPERATIONS EXPLAINED
Compile options
Good
Compiler error messages
Good
Linking C programs
Good
Runtime error messages
Good
Runtime options
Good
LANGUAGE / LIBRARY SPECIFICATIONS
Deviations from Kernighan and Ritchie standard
Good
Data type representation
Good
Memory models and memory layout
Good
DOS and PC-specific features
Poor
ASSEMBLY LANGUAGE INTERFACE
Segment, group, and class specification
Good
Standard prologue, epilogue
Good
Instruction formats for args, public, extern, struct
Good
Return value conventions
Good
Complete examples
Fair
FILE I/O
Redirection
Good
Console I/O
Good
Device I/O
Good
Buffered versus unbuffered
Poor
ASCII versus binary modes
Good
LIBRARY DOCUMENTATION
Average lines per function
20
Cross-reference information
Fair
Functions in table of contents
Good
Examples of use
Fair
MANUAL ORGANIZATION
Detailed table of contents
Good
Index with functional entries
Fair
Order of function documentation
Alpha.
OVERALL RATING
Good
These notes on documentation can be compared with those for other C
compilers listed in table 3 in “The State of C, ” (William J. Hunt, January
1986, p. 88) See also table 3 in Marty Franz’s Product Watch reviews of
Whitesmith’s C Compiler (June 1986, p. 203) Let's C (August 1986, p. 179)
and MIX C (September 1986, p. 192)
Overall, the High-C documentation was complete and infor¬
mative, but a more conventional index would be welcome.
The High-C extensions give the
product a Pascal flavor. Because many
of the extensions are in areas where the
K&R standard is vague or nonexistent,
they cause little problem when porting
normal C programs to the High-C com¬
piler. Some common extensions of ver¬
sion 7 UNIX C (such as void functions
and enumerated types) have been in¬
cluded. These changes make High-C a
stronger language for large projects
with multiple programmers; they in¬
crease the ability of the knowledgeable
C programmer to structure code.
In addition to this enhanced ver¬
sion of the C language, High-C also
compiles programs conforming to the
proposed ANSI (X3J11) standard and
disallows the High-C extensions. This is
done by using a switch at compilation
time. Other switches to the High-C
compiler select the memory model,
object file name, and cross reference
and list file generation options. An after
FEBRUARY 1987
183
PRODUCT WATCH
market MAKE utility (such as PolyMake
from Polytron) is a necessity because
High-C supports neither wild cards nor
multiple file names on the command
line. The compiler’s default option set¬
tings can be configured through a sepa¬
rate command that stores common de¬
faults in the compiler’s .EXE file and
makes them permanent.
A key addition to the C language as
implemented by High-C is the pragma
statement. Another concept borrowed
from Ada, this is a directive to the com¬
piler in the source file that specifies
listing format, code generation, array
checking, external labels, and register
variable usage—in short, anything that
concerns the generation of the final
module. A set of pragmas is placed in a
source file, profile, included in the
module when it is compiled. Different
profiles are used for different environ¬
ments: one with stack and array check¬
ing enabled for module testing and one
with checking disabled for maximum-
performance production programs.
High-C supports five memory mod¬
els for the PC: small (64KB code, 64KB
data), compact (64KB code, large data),
medium (large code, 64KB data), big
(multiple 64KB code segments, large
data) and large (large data, large code).
They are selected by a compilation
switch or a pragma statement. Overlays
can be generated for the Phoenix Plink
linker. The compiler generates code for
the 8087/80287 numeric coprocessor
and/or the 80186/80286 processors with
pragma statements. These features allow
the exact control of code generation for
production applications.
High-C supports the UNIX standard
library (see table 3) and the usual ex¬
tensions, such as alloc( ) and setjmp( ).
An unusual feature of this compiler is
that more primitive I/O functions, such
as read( ) and open( ), are handled with
a utility package that must be defined
through an include hie and not directly
through library functions as they are in
most C compilers. This allows users
writing embedded applications (those
that do not use DOS, such as programs
placed in a ROM) to isolate and write
their own implementations of these
nonportable functions.
High-C also has a flexible system
for interfacing to other languages and
libraries. The pragma statement can be
used to tell the compiler which inter¬
face an external module has, including
call by value (C standard), call by refer¬
ence, and called function pops argu¬
ments. This feature should allow High-C
to interface with most aftermarket C li¬
braries. The manual states that by using
the external interface pragmas, High-C
can call Professional Pascal and assem¬
bly language modules, and it provides
examples for doing so.
High-C is weak in its PC-specific
library functions. Only the most basic
level of access, interrupt calls and basic
hie I/O, is supported. Higher-level
graphics or directory functions must be
written by the user or accessed through
an aftermarket library.
The documentation for High-C is
summarized in table 3. The High-C
manual’s loose-leaf binder contains far
more pages than it can hold success¬
fully. The documentation is divided into
an installation guide, a programmer’s
reference section, a library reference,
and a language reference.
Content is complete, but very tech¬
nical in the best (or worst) UNIX tradi¬
tion. Its strong points are the installa¬
tion guide and language description,
which are particularly accurate. The li¬
brary reference and interfacing sections
are its weak points. Sample programs
and some library source code is in¬
cluded and is well commented.
Benchmark results are given in ta¬
ble 4. As the benchmarks show, compi-
Soft*Rite» LANbasic!
Soft*Rite announces a Superior three-part programmer’s tool.
Microsoft BASIC™ compatible in every place that counts. *
LAN screen
LANbasic
LANdbase
LANscreen makes the burden of defin¬
ing your database record structures one
that you will look forward to instead of
dread. Standard fields and types such
as “Money”, “Telephone” and “Date” are
one keystroke to generate. As many as
255 database structures can be related
to a single screen! Segmented data
input can be done automatically by edit¬
ing the field display. Part numbers with
spaces or dashes and slashes are auto¬
matically parsed down to the essential
raw data. Definable Upper and Lower
limits for numeric inputs along with
ACCEPT/EXCEPT input filters are stand¬
ard features. Screen Mask generation is
done with a “freestroke” approach. You
may put mask elements and data
input/output cells wherever you wish.
COLOR them too! EGA support too!
‘Drivers Installed for IBM PC-NET/MS-NET
LANbasic is your own personal solution to
powerfull data manipulation. How many times
have you got excited over some new “total"
database package only to find out (after
spending a fair amount of time and money)
that you were stuck in some corner, unable to
do some function that has become standard
in “In Business for Money’s” Basic? The
manual is 400 pages long, so we cannot fully
describe all the features, but here are a few in
ADDITION to the ones you are now used to:
★ COMDATAS 14 common areas ALWAYS
available to inside or outside, chained or
linked programs ★ Re-assignable printer
ports LPT1 -LPT4 ★ Generic filename use that
allows file and database locations to be re¬
defined outside of basic in a user-created
REDIRECTOR file, to ease multi-user system
configuation ★ USESCREEN,<1-16> ★
SCREEN IN PUT, < anyf ield > ★ SCREENOUT-
PUT,<anyfield > ★ OPENDB, < remote or
local database manager> ★
DBGET, cvariable from DBM, automatically
defines and dimensions in LAN basic> ★
DBPUT, <same>
LANdbase is the home for your data.
LANbasic calls are coupled to LANd¬
base via network comunications (PCnet
or ?). A single keyvalue and function
number will return a record. Multiuser
record locking is handled by simply put¬
ting an ‘X’ after the read call. (i.e.
RDDBEQUX,<argument>. Automatic
“health checking” to warn you of poor
hardware performance and lost or frag¬
mented data. “Paranoid” mode of opera¬
tion where files not accessed for some
time will be closed and reopened to
flush buffers and insure integrity. Pass¬
word, Userlevel and Data encryption
functions. Several DBM’s can be
installed in the network system to
improve performance and reliability. Tog¬
gle mode screen (printer) reporting to
record log-on or other access activites.
Bill Fairman’s tried and proven true C-
Tree(c) data management product.
Soft*Rite Multi-User Programming Tools
15381 Chemical Lane, Huntington Beach, CA. 92649
(714) 898-0525
CIRCLE NO. 186 ON READER SERVICE CARD
184
PC TECH JOURNAL
YOUR ACCESS
TO THE
SOPHISTICATED
IBM PC
APPLICATIONS
AND INPUT
YOU NEED TO
KNOW...
OURNAL.
i FOR SYSTEMS EXPERTS ONLY!
Yes! Please begin my subscription to PC TECH
JOURNAL for:
| ] Two years (26 issues) for $53.35. o
[~~| One year (13 issues) for $26.70. SJWE50 •
Savings based on annual single-copy price of $53.35.
Mr./Mrs./Ms_
please printfullnome 4S697
Company __
Address__
City_State_Zip-
□ Payment enclosed 13 Bill me later
Add $8 per year for postage in Canada and all other foreign countries. U.S. currency only.
Please allow up to 60 days for delivery of first issue. Basic annual subscription price is
$34.97
As a systems designer, integrator, DP/MIS
specialist or consultant, you need PC TECH
JOURNAL. PC TECH JOURNAL provides the
tools and know-how to expand the func¬
tions and capabilities of your system.
Stay in the forefront of IBMs rapidly
changing PC technology—subscribe to
PC TECH JOURNAL today!
■ One year (13 issues) only $26.70.
■ Two years (26 issues) only $53.35.
Your subscription includes the special 13th
issue—the PC TECH JOURNAL DIRECTORY pub¬
lished in November. This is a comprehensive
and reference to the articles and products
reviewed in PC TECH JOURNAL beginning
with the premier July 1983 issue!
SAVE 50% OFF THE ANNUAL
SINGLE-COPY PRICE OF $53.35!
FREE WITH YOUR
PAID SUBSCRIPTION—
THE PC TECH JOURNAL
DATA MANAGER REVIEW
This is a comprehensive review and
evaluation of 7 leading Data Managers,
complete with benchmark test results
and comparisons covering DATAEASE,
DATAFLEX, R:BASE 5000, and more! The
most important reference for any system.
The PC TECH JOURNAL DATA MANAGER
REVIEW is yours FREE with your paid
subscription!
SUBSCRIBE TODAY!
I
FOR PC DECISION MAKERS!
Yes! Please begin my subscription to PCTECH
JOURNAL for:
n Two years (26 issues) for $53.35.
□ a nr u <- OA 7n SAVE50%!
I 1 One year (13 issues) for $26.70.
Savings based on annual single-copy price of $53.35.
Mr./Mrs./Ms._
Company_
Address_
City_
please print full name
. State.
0 Payment enclosed M Bill me later
Zip
Add $8 per year for oostage in Canada and all other foreign countries. U.S. currency only.
Please allow up to 60 days for delivery of first issue. Basic annual subscription price is
$34.97
GIVE PC TECH JOURNAL AS A GIFT!
Give a business associate a subscription to PCTECH
JOURNAL. It's a great holiday—birthday—anytime
gift for a systems designer, integrator or DP/MlS
professional!
Yes! Please send a one year (13 issues) subscription
of PC TECH JOURNAL
’ TO:
Mr./Mrs./Ms-- -
please print full name 4$7C
Company_ . --/Vy
Address_
.State.
-Zip.
Add $8 per year for postage
Canada and all other foreign
countries. U.S. currency only.
Please allow up to 60 days to
delivery of first issue. Basic
annual subscription price is
$34.97
Please bill me for $26.70 and send the qift card
FROM:
Mr./Mrs./Ms._
for Company.
Address.
City-
.State.
NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
BUSINESS REPLY MAIL
FIRST GLASS PERMIT NO. 66 BOULDER, COLORADO
POSTAGE WILL BE PAID BY ADDRESSEE
TE(§H
JOURNAL
i P.O.Box52077
Boulder, Colorado 80321-2077
II..I.II.111111111111111111111111111111111111111
NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
BUSINESS REPLY MAIL
FIRST GLASS PERMIT NO. 66 BOULDER, COLORADO
POSTAGE WILL BE PAID BY ADDRESSEE
TE(§H
JOURNAL
J P.O. Box 52077
Boulder, Colorado 80321-2077
II..I.II.
NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
BUSINESS REPLY MAIL
FIRST CLASS PERMIT NO. 66 BOULDER, COLORADO
POSTAGE WILL BE PAID BY ADDRESSEE
TE@H
JOURNAL
j P.O. Box 52077
Boulder, Colorado 80321-2077
II..I.II. II.,111...I
ACCESS
|=1222^ H IT
OORNAI
FOR THE
INFORMATION
YOUNEED!
M ANIMATION
m TERMINAL EMULATION
M ADVANCED
LANGUAGES
B DATA SYNTHESIS
B TECHNOLOGICAL
ADVANCES
S PRODUCTS FOR
SYSTEMS EXPERTS
□ THE SPECIAL 13TH
PC TECH JOURNAL
DIRECTORY ISSUE!
SUBSCRIBE TODAY AND
RECEIVE THE PC TECH
JOURNAL DATA
MANAGER REVIEW
FREE WITH YOUR
PAID SUBSCRIPTION!
TABLE 4: Benchmarks
COMPILE TIMES
60-line file
58.6
150-line file
79.0
500-line file
64.2
LINK TIMES
1 object file
53.4
6 object files
59.5
PROGRAM SIZES (bytes)
Eratosthenes sieve
24,176
Pentathlon
26,016
GENERAL OPERATIONS
(small/large model)
Function calls (Fibonacci)
21.8/ 28.2
Integer arithmetic
30.3/ 30.3
Long arithmetic
98.5/100.5
Subscripts
22.3/ 24.9
(character count)
Pointer use (string copy)
36.4/ 42.9
With register variables
32.9/ 43.0
Eratosthenes sieve
20.7/ 20.7
With register variables
18.2/ 18.8
FEE I/O
(small/large model)
Read/write
Diskette to diskette
6.5/ 6.3
Hard disk to hard disk
3.1/ 3.0
Getc/putc
Diskette to diskette
3.5/ 3.4
Hard disk to hard disk
4.3/ 4.3
FLOATING POINT
OPERATIONS
(small/large model)
Add/multiply (dot product)
49.2/ 62.8
Exp/log
65.0/ 77.6
Sin/tan (trig functions)
62.5/ 75.4
All times are in seconds.
Benchmarks were run on an IBM PC/XT with
640KB, 20MB hard disk, DOS 2.1, and no 8087
numeric coprocessor. 'These features can be com¬
pared with those for other C compilers in table 4
in “The State of C, ” (William J. Hunt, January
1986, p. 90). See also table 4 in Marty Franz’s
Product Watch reviews of Whitesmith’s C Compiler
(June 1986, p. 205), Let’s C (August 1986, p. 179)
and MIX C (September 1986, p. 193)
Although it is a bit slow in compila¬
tion, High-C is among the fastest of
the C compilers in the speed of the
compiled programs that it produces.
lation times are slower than average—
probably because the compiler per¬
forms a great deal of optimization on
the program prior to generating code.
Once the compiler finishes, howev¬
er, the object code it produces is faster
than the compilers reviewed in “The
State of C” (William J. Hunt, January
1986, p. 82). The .EXE files were larger
than average, but their size had not
been reduced by pragma statements (a
size/speed compilation option is avail¬
able) or by linking with smaller ver¬
sions of the library without floating¬
point formatted output in them.
Only one problem marred an
otherwise excellent benchmark per¬
formance by High-C; when compiling
the AUTO6.C source file, the compiler’s
optimizer removed several statements
containing a variable that was assigned
but never referenced within the mod¬
ule. Later, the code generator generated
a system error trying to generate code
for the removed statements. Inserting a
dummy reference to the offending vari¬
able solved the problem.
A final feature of High-C is the
MetaWare arrangement with Plum Hall
to provide training seminars to High-C
users at a reduced price. This further
demonstrates MetaWare’s commitment
to supporting technical users.
MetaWare’s High-C is a powerful,
full-featured C compiler well worth
consideration by users who undertake
large development projects. 1 ""1111
—MARTY FRANZ
The Tape Linx package includes
FLASHBAK™, a high-speed, file-
oriented tape back-up utility. It
offers a window-oriented user
interface featuring pull-down
menus and single keystroke
commands.
Overland Data’s professional
technical staff provides telephone
support for all ODI products, and
will be happy to discuss your
specific application requirements.
Call today.
• 9 Track tape support for
personal computers
• XENIX and MS-DOS support
• A standard data interchange
medium for government and
industry
Virtually all business mainframe
and mini systems already have
1600 BPI Vs” 9 track tape. The
Tape Linx subsystem provides the
necessary connection for PC
users.
Tape Linx moves most data base
information from mainframes and
translates it automatically into a
format readable by the PC.
Software reads mainframe data
in a variety of formats. Tape Linx
can also transfer data to data
base programs like dBASE III.
Overland Data, Inc
Answers on Tape
5644 Kearny Mesa Road
San Diego, CA 92111
(619) 571-5555
754923 OVERLAND
XENIX and MS-DOS are Registered Trademarks of Microsoft Corp.
9 Track Tape Answers for
CIRCLE NO. 185 ON READER SERVICE CARD
FEBRUARY 1987
185
Release the Power
of Fortran, C and Pascal
A library of over 120 Assembler routines transforms
FORTRAN, Pascal and C language compilers into a flexible,
responsive language for the microcomputer environment.
Existing mainframe code may be converted with ease, sav¬
ing time and money. With the powerful Assembler sub¬
routines of NO LIMIT™, mainframe users can fully realize
the advantages of microcomputer technology.
• Complete Communications
• File/Directory Management
• Full Screen/Keyboard Control
• Extensive Graphics Applications
• Character/String Manipulation
• System Information
• And much more!
NO LIMIT ™ is available for $ 129, with no license fee, and
supports MS/FORTRAN/Pascal/C, IBM Professional,
Ryan-McFarland, and Lahey F77L compilers.
MEF
Environmental,
Inc.
P.O. Box 26537
Austin, Texas 78755
512/251 >5543
©Trademark of Microsoft, Inc., IBM
Corporation. Ryan-McFarland and
Lahey, Inc., respectively.
CIRCLE NO. 133 ON READER SERVICE CARD
QuickBASIC just got quicker with
[QuickPak
I ; f§.. ■
QuickPak is a superb collection of enhancements, subroutines, and
instructional material designed to help you get the most out of pro¬
gramming in BASIC.
■ Powerful assembly language routines to give your programs more
speed, more power, and full access to DOS and BIOS services.
SORT all or part of a string array with one command! Complete
windowing capability — display help screens instantly, overlay
text. FIND any string or sub-string within an entire array regard¬
less of capitalization — accepts wildcards. READ directories into
your programs from any drive or
path. READ/WRITE disk sectors
— create your own DOS utilities!
MANY, many more programs
included.
• Professionally written QuickBASIC
routines and functions.
Powerful input routines for text,
dates, and numbers. Menus,
scroll bars, date/time functions,
and much more.
■ The Assembly Tutor — a complete
guide to learning assembly language
from a BASIC perspective . Learn how to
create your own routines and extensions.
■ Tips and Tricks book — packed with
clever ideas and techniques to help
you be a better programmer.
You get all this, all of the source code
for every program included, and a
thirty-day money back guarantee for
only S69.00.
No royalties are required for using any
of the QuickPak routines in your pro¬
grams. Not copy protected, of course.
by
CRESCENT SOFTWARE
64 Fort Point Street, East Norwalk, CT 06855
(203) 846-2500
QuickPak requires Microsoft QuickBASIC or BASC0M, DOS 2.0 or higher. Visa, M/C, C.O.D., or checks accepted.
QuickPak
CIRCLE NO. 145 ON READER SERVICE CARD
Improved
Serial Card
r.. EXTENDS SPEED
AND FLEXIBILITY
OF PC APPLICATIONS
New improved 8-channel ACL™ serial card now offers the
option of RS422 and RS485 compatibility.
The new card provides all the standard ACL “smart
card" features... flexible address decoding, program¬
mable interrupts, expandable options via software, and
the ability to download custom programs... now the
ability to operate over greater distances and
speeds of RS422 applications. In addition,
the new card enables PCs to interface
with industrial process controls j
via RS485 links.
Call for free literature that
explains how the improved,
ACL Serial Card can
expand your PC’s
multiuser
options.
CIRCLE NO. 177 ON READER SERVICE CARD
VT100/VT52 & Tektronix™
4010/4014 Terminal Emulator
Excellent emulation and the features you want:
FI
f
UJ
I-
>
-» use 4096 x 3120 resolution
-*■ zoom, pan, and window plots
-> high resolution printer dumps
-* choose text and plot color
-» transfer files with
XMODEM and Kermit protocols
-* scroll last 4 pages of text
132 column VT100 capability
18 User-definable keys
capture plots and text on disk
full or half duplex
access to DOS commands
all VT100 keypad commands
command line editing
fast direct screen access
password security
VTEK makes your PC better than a terminal
S150 from Scientific Endeavors
Publication Quality Graphics for
Scientific and Technical Applications
s U
U.E
□_
m
L
L3
-*• multiple levels of “(••'scripts
.-»• 4096 x 3120 resolution
-» zoom, pan, window plots
-► multiple plots on a page
-*■ high resolution printer
dumps, full or half page
-+ plotter support in COLOR
-* linear, log, & polar plots
-> bar charts & Smith charts
-* contour plots with labels
-* 3-0 curves, 3-D surfaces
with hidden line removal
-» 4 curve types, 8 markers
-> 14 fonts, font editor
16 color plots on EGA, Sigma, TeleVideo & Tecmar boards
Over 100 routines can be called by your
C program. $350. Demo $8.
SOURCE INCLUDED for private use only.
For DeSmet, C-86, Aztec, Lattice, and Microsoft C compilers.
Scientific Endeavors
Route 4, Box 79; Kingston, TN 37763
(615) 376-4146
For 256k IBM and Corona PCs, DOS 2.xx,3.xx.
Epson, Okidata, Toshiba, C. Itoh printers.
Hewlett Packard, Houston, Sweet-P plotters.
Corona Laser printer. IBM, IBM EGA, Sigma,
TeleVideo, Tecmar, Hercules, Corona graphics.
A compatible assembler is required.
THIS AD WAS MADE USING Graphic”
CIRCLE NO. 187 ON READER SERVICE CARD
186
FEBRUARY 1987
EXPERT CONSULTANT: HUMAN FACTORS
HENRY F.LEDGARD
Three Misconceptions
Although they may be unspoken or subconsicous,
some deeply rooted misconceptions affect the way
software designers think about human factors.
W hen the topic human factors is
mentioned, some mental response
comes to mind. Consider this list:
1. Easy-to-read messages
2. Good on-line help
3. Icon and windows
4. Using a mouse
3. Simplicity
Item 1 is the response for many people.
Certainly, readable messages are a part
of human engineering. But are they a
large part? No. This is precisely what is
wrong with item 1 as a response. To
think about human factors in this way is
a rather deeply rooted misconception.
Ah, you say, do not be foolish. No
one would give the definition: “Human
factors is the study of writing clear mes¬
sages.” I agree. But the point is our
misconceptions are more subtle. They
affect our attitude, our work. People
who relate to item number 1 are likely
to think of human factors as window
dressing, an add-on to development; on
the other hand, they will probably not
articulate this view.
This is probably a consequence of
being in a field that is considered
“motherhood and apple pie.” No one is
against human factors or supports poor
human factors. Accordingly, we in the
held have a different task. It is not to
convince people of the importance of
human factors, but to define what hu¬
man factors are and uncover some of
the many unspoken and deeply rooted
misconceptions. You can say that “many
believe, but few go to church.”
Here is my list of misconceptions.
• The primary goal is to help novices.
• Users will feel comfortable with
subsets.
• Human engineering is not particularly
a technical matter.
I believe that there are many users,
engineers, and designers who (private¬
ly, perhaps subconsciously) hold such
views. The misconceptions are largely
unspoken; they reflect a set of estab¬
lished attitudes.
The primary goal is to help novices. When
designing systems, designers often ask
how Charlie, the novice, would cope
with it. When they document the sys¬
tem, try to write manuals, provide on¬
line help, or introduce special keys, the
novice is kept in mind.
A consequence of this attitude is
that, subconsciously, we think of human
factors as babying the user. As an aside,
notice a looming contradiction—the
system evolves toward greater complex¬
ity, yet we add even more complexity
(on-line help, special features) to help
the novice. Moreover, the real work¬
horse systems, which are not particu¬
larly meant for novices, can have the
worst human factors.
The marketplace is alive with many
different computer systems: electronic
mail networks, word processors, appli¬
cation packages, and implementations
of computer languages. The people
who use these systems are not primarily
novices. When a new system is intro¬
duced, those who encounter it are cer¬
tainly first-time users of that new sys¬
tem, but most of them have probably
had experience with other systems and
similar pieces of software. Therefore,
they will be transferring their skills
from a previous experience to a new
one; in other words, they can be called
transfer users (see Good et. al., ”Build-
ing a User-Derived Interface,” Commu¬
nications of the ACM , October 1984).
Charlie the transfer user would
undoubtedly be able to apply his
knowledge of his own word processing
system to a new one. His concerns as a
transfer user would be substantially dif¬
ferent from those of Charlie the novice.
Transfer users are familiar with automa¬
tion, command languages, and screen
layouts. They know many of the small
details that are needed in using a sys¬
tem: how to use special keys, invoke a
command, or save work. Table 1 out¬
lines the differences between the nov¬
ice and the transfer user.
Even the true novice may not re¬
main a novice very long. Often, people
are taken with the novelty and chal¬
lenge. They become “experts” in a
short period of time, even when com¬
plexity interferes with useful work.
The point is that spreadsheet or
compiler, novice or expert, the human
factors in day-to-day usage are the is¬
sues that really count.
Users will be comfortable with subsets. The
popular wisdom is that small systems
are desirable. Nonetheless, systems have
a tendency to grow. When a system de¬
sign begins to snowball, by its own mo¬
mentum the subset idea becomes in¬
creasingly attractive. The subset idea is
simple—users will pick and choose
FEBRUARY 1987
187
ILLUSTRATION • MACIEK ALBRECHT
EXPERT CONSULTANT: HUMAN FACTORS
a.. ■■■ill *
INI
THE NOVICE
THE TRANSFER USER
Is unsure of automation
Knows what automation is
Needs encouragement
Wants to get work done
Develops skill slowly
Becomes skilled rapidly
Needs gentle documentation
Needs a good reference manual
Is hesitant with new combinations
Thrives on technical consistency
One misconception is that products must be designed for novices. Most users are
transfer users. Even novices become experts in a short time.
their own features, eventually establish
a reasonable selection, and then will be
comfortable with it. So what is wrong
with large systems anyway?
Many arguments are lodged against
large scale in computer systems. Some
of them have to do with cost. Others
have to do with documentation and the
difficulty of implementing large systems.
Users should question every feature in
a system. They may not need so many
options if the system does the simple
tasks it is designed to do, and does
them well. Nevertheless, what is really
wrong with the subset idea from the
user’s point of view?
Using a system well requires docu¬
mentation. A system that is larger than
required forces the user to face a docu¬
ment describing many features that are
irrelevant to the problem at hand. As I
noted in my first article in this column
(see “Computer Attitudes,” November
1986, p. 193), Charlie had no use for a
magic debugging tool when he was
learning his new word processing sys¬
tem. Irrelevant information intimidated
him. He might well have muttered:
“Oh, Lord! Thy system is so big, and
Thy user, so small.”
Moreover, the larger the system the
more likely that the documentation will
be inadequate. Manuals tend to be
pieced together under increasing pres¬
sure. The examples become sterile; the
text uninteresting. The documentation
DOUBLE
YOUR STORAGE CAPACITY
The new PERSTOR 200
Series Double Capacity
Controllers increase
the storage capacity of
your ST506/412 Win¬
chester hard disks by 90% or more.
Advanced RLL encoding technology is
used to increase data transfer rate to 9
and 10 megabits per second, and a 56
bit error correction
code is used to assure
data integrity. What’s
more, it works with both
RLL and MFM drives
with plated or oxide media*
To place an order or become a dealer
call (602) 948-7313.
PERSTCJ R
Sensible solutions for your hard disk problems.
Systems and Software, Inc.
7825 East Redfield Road
Scottsdale, Arizona 85260
*call for specific drives.
CIRCLE NO. 231 ON READER SERVICE CARD
can deteriorate into nothing more than
the reports of one engineer to another.
The result is a general loss of quality.
No designer can predict which part
of a system a user will be using. Any
system responses, help frames, or
menus can only force upon the user in¬
formation about unknown topics. Some
operations, such as program configura¬
tions or file options, may be barely
understood. The user may get lost tak¬
ing an unknown option and wind up in
a dead end, not knowing whether to re¬
cover or begin again. When the user is
on the right track, the system is less
likely to give the kinds of specific infor¬
mation that the user really needs.
Users feel most comfortable when
they understand everything they see:
the menus, the icons, the commands,
the options, and the messages. They
find themselves at ease when they be¬
lieve they are in complete control. It is
similar to feeling comfortable driving
your own car rather than somebody
else’s. When the driver understands all
the controls and is able to use them
confidently, driving is safer, easier, and
certainly less stressful. That is why Char¬
lie eschewed templates pasted on his
keyboard—he wanted his fingers to
move around the keys without having
to think about it.
The substantive question here is:
Why can’t users simply find their own
subsets and function there conven¬
iently? In response, I need to ask more
questions: Whose subset? How do I get
the document for the subset that I use?
How can I disregard instructions on the
screen that are of no relevance? What
about my specific needs? Can I grow
with the system or must I grope with it?
Can I be sure that the subset I am using
is the optimum one? Am I ignorant of
more efficient ways to do what I am
currently doing?
If I am not comfortable with a sub¬
set, I will want to learn more until I am
satisfied that I understand the system
as well as I can. If I cannot do this, if I
finally give up exploring, I will reluc¬
tantly hold on to my subset but with a
feeling of misgiving. Is this what human
engineering is all about?
If this is so, the system will always
seem to be bigger than I am, and my
subset is just a myth.
Human engineering is not particularly a tech¬
nical matter. Few human factors special¬
ists would agree with this statement, but
my guess is that some system develop¬
ers secretly believe it. Some liken hu¬
man factors to making system messages
more pleasing for the user to read.
188
PC TECH JOURNAL
FORTRAN PROGRAMMERS
Looking for the right PC FORTRAN language system? If you're serious
about your FORTRAN programming then you should be using F77L -
LAHEY FORTRAN.
"Lahey's F77L FORTRAN is the compiler of choice, it's definitely a
'Programmers FORTRAN\' with features to aid both the casual and the
professional programmer... F77L compiled the five files in a total of 12
minutes , which was 4 times as fast as MS FORTRAN and an astounding 6
times as fast as Pro FORTRANf' - PC Magazine
Compare the features and performance of other PC FORTRANs with F77L
and you will find that F77L is clearly the superior product.
Full Fortran 77 Standard (F77L is not a subset)
Popular Extensions for easy porting of mini
and mainframe applications
COMPLEX* 16, LOGICAL* 1 and INTEGER* 2
Recursion - allocates local variables on
the stack
IEEE - Standard Floating Point
Long variable names - 31 characters
IMPLICIT NONE
Fast Compile - Increases productivity
Source On Line Debugger (Advanced
features without recompiling)
Arrays and Commons greater than 64 K
Clear and Precise English Diagnostics
Compatibility with Popular 3rd Party
Software (i.e. Lattice C)
Easy to use manual
Technical Support from LCS
NEW FEATURE - NAMELIST
F77L - THE PROGRAMMER S FORTRAN
$477.00 U.S.
System Requirements: MS-DOS or PC-DOS, 256K, math coprocessor (8087/80287)
FOR MORE INFORMATION: (702) 831 -2500
Lahey Computer Systems, Inc.
P.O.Box 6091
Incline Village, NV 89450
U.S.A.
International Dealers:
England: Grey Matter Ltd., Tel: (0364) 53499
Denmark: Ravenholm Computing, Tel: (02) 887249
Australia: Computer Transitions, Tel: (03) 537-2786
Japan: Microsoftware, Inc., Tel: (03) 813-8222
SERVING THE FORTRAN COMMUNITY SINCE 1967
MS^OS & MS FORTRAN are trademarks of Microsoft Corporation.Pro FORTRAN refers to Professional FORTRAN a trademark of
International Business Machines.
Editor's Choice
- PC Magazine
CIRCLE NO. 128 ON READER SERVICE CARD
GET PC/XT HEADACHE RELIEF.
Take one WELTEC floppy
drive and upgrade your PC or
XT to AT capacity-without
changing your controller card.
Is your mix of IBM PC’s
and XT’s giving you an
MIS headache? Get rid of it
fast with our versatile 5 1 4"
half-height flexible disk
drive.
• 1.2 Mb formatted
capacity
• No additional controller
card needed
• Brushless direct-drive
motor with 30,000 MTBF
• Full interchange of
diskettes between IBM
AT and PC or XT as well
as most IBM compatible
systems
• Internal or external
configurations
• ANSI and industry
interface compatibility
Get relief now!
Call 714/250-1959
VAD and VAR inquiries invited
E3 WELTEC
digital, inc.
IBM™ PC, XT and AT are trademarks of International Business Machines Corp.
17875 Sky Park North, Suite P, Irvine, CA 92714
FEBRUARY 1987
CIRCLE NO. 243 ON READER SERVICE CARD
189
UNIX TOOLS FOR YOUR PC
EXPERT CONSULTANT
PC/VI
UNIX’s VI Editor Now Available For Your PC!
Are you being as productive as you can be with your
computer? An editor should be a tool, not an obstacle to
getting the job done. Increase your productivity today by
choosing PC/VI — a COMPLETE implementation of
UNIX* VI version 3.9 (as provided with System V
Release 2).
PC/VI is an implementation of the most powerful and
most widely used full-screen editor available under the
UNIX operating system. The following is only a hint of the
power behind PC/VI:
• Global search or search and replace using regular
expressions
• Full undo capability
• Deletions, changes and cursor positioning on character,
word, line, sentence, paragraph, section or global basis
• Editing of files larger than available memoiy
• Shell escapes to DOS
• Copying and moving text
• Macros and Wford abbreviations
• Auto-indent and Showmatch
• MUCH, MUCH MORE!
Don’t take it from us. Here's what some of our customers
say: "Just what I was looking for!”, “It’s great!", "Just like
the real VI!". "The documentation is so good I have already
learned things about VI that I never knew before." — IEEE
Software, September 1986.
PC/VI is available for IBM PC’s and generic MS-DOS*
systems for only $149. Included are CTAGS and SPLIT
utilities, TERMCAP function library, and an IBM-PC specific
version which enhances performance by as much as
TEN FOLD!
PC/TOOLS
What makes UNIX so powerful? Sleek, Fast, and
POWERFUL utilities! UNIX gives the user not dozens, but
hundreds of tools. These tools were designed and have
been continually enhanced over the last fifteen years! Now
the most powerful and popular of these are available for
your PC! Each is a complete implementation of the UNIX
program. Open up our toolbox and find:
• BFS • DIFFH . OD • STRINGS
• CAL . DIFF3 . PR . TAIL
• CUT • GREP • SED . WC
. DIFF . HEAD . SEE
All of these for only $49.00: naturally, extensive
documentation is included!
PC/SPELL
Why settle for a spelling checker which can only
compare words against its limited dictionary database
when PC/SPELL is now available? PC/SPELL isacomplete
implementation of the UNIX spelling checker, renowned
for its understanding of the rules of English! PC/SPELL
determines if a word is correctly spelled by not only
checking its database, but also by testing such
transformations as pluralization and the addition and
deletion of prefixes and suffixes. For only $49.00. PC/SPELL
is the first and last spelling checker you will ever need!
Buy PC/VI and PC/TOOLS now and get PC/SPELL for
only $1.00! Site licenses are available. Dealer inquiries
invited. MA residents add 5% sales tax. AM EX. MC and Visa
accepted without surcharge. Thirty day money back
guarantee if not satisfied! Available in 8", 5 V\" and SW
disk formats. For more information call today!
•UNIX is ;i trademark ol AWi: 'MS DOS is a trademark nl Mk nisolt.
CUSTOM SOFTWARE SYSTEMS
P.O. BOX 678 • NATICK, MA 01760
617 • 653 * 2555
H
O
O
r
to
Tl
o
<
o
CIRCLE NO. 261 ON READER SERVICE CARD
If human factors are important,
they should be a concern from the be¬
ginning to the end of the software life
cycle. Even when the requirements for
a proposed system are being sketched,
human factors arise quickly. Question¬
ing the need for features, scaling down
the requirements, and looking for clean
technical solutions that will meet the
needs of the user—these have implica¬
tions for human factors.
In developing a good technical de¬
sign, the designer should consider such
questions as: Are so many special-pur¬
pose keys really necessary? How should
commands or menus be organized?
How should screen management work?
What notations should be used?
When the design is started, conflict¬
ing principles may have to be resolved.
Perhaps some experiments may need to
be run in order to test competing ideas.
Data can be gathered on an existing sys¬
tem to see which features are the most
confusing. If an on-line help system
cannot be developed in a reasonable
manner, perhaps the matter should be
dropped and other avenues of user
training explored. For example, cursor
movement, file management, and com¬
mand language principles must be dis¬
cussed and implemented as an integral
part of human factors.
Let us suppose we are designing a
new system for compiling, running, and
testing programs. Suppose we have
identified 200 or so functions (com¬
mands, options, features, etc.). Some
typical functions might be: put the com¬
piler output in a file; recompile a single
module; set a breakpoint; display the
value of an expression.
Consider these questions:
• What is a good syntax model?
• Do options have consistent syntax?
• Which are commands versus sub¬
commands?
• Which features can be arranged into
sensible groups?
• Should commands be combined?
• Should all options have a default?
• Can features be grouped under a sin¬
gle option?
These are technical issues that directly
affect the user, ease of learning, recall,
and documentation.
Human engineering is not some¬
thing that can be grafted on to an exist¬
ing system. It is the fiber of technical
development. 1 "miffim m
Henry F. Ledgard is a private consultant,
specializing in software engineering, audits,
and education as well as human factors. He
holds a Ph D. from MIT.
190
PC TECH JOURNAL
•asss
ggSS#' 3S9S
IBM is a
registered trademark of
International Business Machines Corp;
Apple is a registered
trademark of Apple Computer, Inc.
APPLE 64 PAGES 264 PRODUCTS
INTERACTIVE MICROWARE, INC.
POB 139, Dept. 237, State College, PA 16804
Phone: (814) 238-8294 • Telex 705250
For information interchange, backup and archival storage,
IBEX offers a 9-track, IBM format-compatible Vfe" magnetic
tape subsystem for the IBM PC, featuring:
■ IBM format 1600/3200 and 800 cpi.
■ Software for PC-DOS, MS-DOS.
■ Also for DEC, VAX, VME,
S-100, RS-232, IEEE 488.
IBEX COMPUTER CORR
20741 Marilla St.
Write, phone or TWX for information. Chatsworth, CA 91311
(818) 709-8100
TWX: 910-493-2071
9-TRACK MAG. TAPE SUBSYSTEM
FOR THE IBM PC/XT/AT AND...
CIRCLE READER SERVICE NO. 208 FOR IBM, NO. 209 FOR APPLE
DeSmet C
execution profiler included
DeSmet C Compiler* still $109
The professional's choice for fast compilation and execution.
Includes Compiler, Assembler, Binder, Librarian, and Full
Screen Editor (SEE tm ). Execution Profiler reports by
address, procedure name or line number. Supports both disk
and memory resident Overlays. Contains both 8087 and
Software floating point support. Full STDIO library.
With D88 Debugger Option .$159
Gain most of the benefits of an interpreter while losing none of
the run-time speed of the C88 compiler. Display C source and
variable contents during execution. Set breakpoints by function
name or line number. Examine and set variables by name using
C expressions.
With Large Case Option and D88 $209
Makes a great C Compiler even better. Adds 32-Bit Pointers to
C88 so you can utilize all of your PC. Groups scalar and static
data for fast access.
$
D88 & Large Case Options available as add-ons.
C Ware Corporation
505 W. Olive, Suite 767, Sunnyvale, CA 94086 U.S.A.
(408) 720-9696 — Telex: 358185
We accept VISA, MasterCard & American Express
CIRCLE NO. 149 ON READER SERVICE CARD
Modula-2
IBM PC/DOS
Native Code Compiler
This is a full implementation of Niklaus Wirth’s Modula-2
language. Our product is not an interpreter, but a true 8086
compiler, using state-of-the art techniques. A Unix-like
"make" utility is included which provides automatic recom¬
pilation of modified source programs.
The code generator produces object module input for the
DOS link utility. You may combine your Modula-2 pro¬
grams with code from other languages such as Assembler.
The software also operates on PC compatibles using
MS/DOS. All the run time source code is included. None
of the software is copy protected, and is fully supported and
maintained by farbware. No royalties are charged for the
use of the run time object. A complete and comprehensive
reference manual is included in the purchase price. The
manual is available separately for $25.00.
Site licenses and quantity discounts are available.
$89.95 Complete
farbware
1329 Gregory
Wilmette, IL 60091
(312) 251-5310
Master Card and Visa Accepted
CIRCLE NO. 117 ON READER SERVICE CARD
FEBRUARY 1987
191
15 SUCCESS MANUALS that could solve vour money problems once and for all!
FASTEST, EASIEST... PROVEN PROFITABLE BUSINESSES YOU CAN QUICKLY START
AND OPERATE FROM HOME WITH LOW OR NO CAPITAL.. PART TIME OR FULL TIME...
No experience required... Nothing complicated to study... Strictly legal and honest...
Each beginners Success Manual is Guaranteed to teach you everything you need to know to succeed fast! The perfect answer for ambitious men and women...
1. FIFTY QUICK, EASY AND MOST UNUSUAL WAYS TO
POCKET “GIANT DOLLARS!”
Here’s your chance to discover how so many folks miss
out on numerous opportunities to pull in some big, fast
cash. A most unique money-opportunity book which
quickly shows you how just ordinary men and women
from all walks of life are building spare time and full
time fortunes; plus home businesses, money secrets,
wealth-building methods, out-of-the-ordinary plans and
odd blue prints to success, plus more, (only $6.95)
2. HOW TO STACK UP HUGE MAIL ORDER PROFITS -
HAND OVER FIST WITHOUT BREAKING YOUR BACK
(OR RISKING AN ARM OR A LEG)
Shows you how to immediately set up — and get your
operation off to a smooth flying start. Quickly teaches
you short cut mail order fundamentals from A to Z.
Crammed with insider “tricks of the trade” and revealing
“money getting gimmicks.” Imagine yourself receiving
envelopes containing hundreds of dollars or more a day
every day — that’s the potential of mail order, (only $6.95)
3. HOW TO SEW YOUR WAY TO PRETTY PROFITS
FAST!
It’s a fact that millions of women (and men, too) own their
own sewing machines... and truly enjoy sewing. This
peculiarly profitable book clearly demonstrates to them
how to, virtually, turn their sewing machines into money
making machines... and take fast and full advantage
of today's most promising market conditions. Especially
— considering the present sky-high prices, (only $6.95)
4 HOW TO TURN YOUR TELEPHONE INTO A
MONEY MAKING MACHINE:
Right now your phone is only costing you money —
but if you knew how to make it work for you, it could be
making you money. Many people have heard about
men and women making handsome incomes, via their
telephone. But only a few people know exactly how it’s
done. Complete easy-to-follow instructions, (only $6.95)
5. HOW TO EARN A FISTFUL OF MONEY WITH
NEWPAPER CLIPPINGS:
Imagine, earning good money by clipping articles from
newspapers? This unusual book instructs you in straight-
to-the-point, how-to-information. Fast starting operation
by mail on a tiny shoestring capital. Unusual way to earn
$50, $100, $300 or more, weekly. Ideal for ambitious
Homeworkers, spare-time or full, (only $6.95)
6. HOW REAL ESTATE CAN MAKE YOU A FORTUNE...
USING OTHER “FOLKS MONEY:”
Real estate has produced more millionaires than any
other field. The plans inside this amazing fast, fortune¬
building book tells why and how, in easy-ABC fashion;
learn how to let other folks money work for you; speculate
in raw land and get back $5 for every $1 you put in; rake
in huge profits on Uncle Sam’s losses; set up a nice
income for yourself and your family with little or no
investment, (only $6.95)
7. WORK-AT-HOME SUCCESS GUIDE
(For Men and Women)
Time and time again — successful spare time and full
time businesses are made with out-of-the-ordinary
methods; off beat money making ideas, prosperous home
enterprises. Shows how plain every day folks from all
walks of life can stack up good money. Here’s your
opportunity to go after incredible wealth, (only $6.95)
8. AMAZING MONEY MAKING TREASURY OF 1 & 2
INGREDIENT FORMULAS THAT COULD PUT YOU ON
EASY STREET
This startling opportunity book places the little
“beginner” operator with tiny capital in a most profitable
position to manufacture sellable products. All prepara¬
tions require no more than two chemicals, many just one.
All represent a popular best-seller kind of product with
both genuine merit and wide sales appeal. No expensive
equipment or facilities required. You can almost always
pack everything from your kitchen, (only $6.95)
9. WORLD’S EASIEST MOST PROFITABLE
MAILORDER BUSINESS...
A relatively uncrowded business that any man or woman
can enter regardless of age. Book shows you how to start
small, with ‘piggy bank’ capital and grow prosperous year
after year. Reveals the surest, most profitable and safest
items to sell by mail. Crammed with all the precious,
easy-to-understand details, (only $6.95)
10. TWELVE SIMPLE LITTLE-KNOWN WAYS TO MAKE
BIG MONEY FAST!
An amazing book that clearly reveals a dozen ways men
and women could pocket some real fast cash profits —
if they only knew the right wealth building moves to make.
This book quickly teaches you all the necessary moves,
shows you exactly how and what to do to help assure
your success, (only $6.95)
rv QUICK. EASY AND MOST
HOW TO TURN YOUR
TELEPHONE INTO A MONEY
MAKING MACHINE
MOW REAL ESTATE CAN
MAKE YOU A FORTUNE..
USING OTHER "FOLKS
MONEY
11. HOW TO SIT BACK AND RAKE IN A BUNDLE
SELLING BOOKS BY MAIL:
Practically all mail order experts agree that absolutely
nothing sells better by mail than books... and there’s
nothing that sells easier than books. Better yet — you
stand to make bigger and faster net profits from selling
books by mail than you could realize on any other items.
You will be shown everything from A to Z. (only $6.95)
12. HOW TO WIN BIG CASH AND VALUABLE
PRIZES CONTESTS:
This unique book quickly shows you all the important
inside tricks. Opportunity to win national and local con¬
tests again and again. Cash, cars, homes, appliances,
furs and vacations ... No other publication on the
market exactly like it. (only $6.95)
13. BIG FAST FULL TIME AND PART TIME
PROFITS FOR WOMEN:
This book is a remarkable treasury of unique but common
sense, easy to operate Little “big” money making
businesses for many millions of today’s serious and
enterprising women interested in fabulous earnings,
independence and security. Little or no investment and
fast starting full- and part-time income increasing
activities, (only $6.95)
14 EASIEST AND FASTEST WAY TO START A SUC¬
CESSFUL MAIL ORDER BUSINESS ON A SHOESTRING:
Simple, and most effective, step-by-step mail order start¬
up and operating instructions written especially for
beginners. Crammed with vital facts... Covers every
aspect of this exciting big money field, (only $6.95)
15. HOW TO SEETHE WORLD...
TRAVEL AND GET PAID WELL FOR IT:
Everyone enjoys traveling. But most people cannot
afford to travel to those far away places they dreamed
of visiting. Here’s your chance to take in the wonderful
sights throughout the world — and actually get paid
for doing it. Yes, it’s truly possible that this little
known strictly legal method could provide you with the
information for doing it. (only $6.95)
Fifteen Ways For You To Have Bulging Bank Accounts,
Beautiful Homes, Expensive Clothes, Jewelry, Exotic
Vacations... The Very Best Colleges For Your Kids...
Plus, Keep A Steady Income Flowing In!
Everyone of the 15 Manuals’ home-based businesses, can be
successfully operated, by a single person, retirees, unemployed
people — most ideal for husband/wife teams — and can be, almost,
instantly turned into an enterprising family operated business,
kids can help too. With everyone pitching in ... your business
could suddenly take off, and profits could increase fast!
HOW TO SIT BACK AND
RAKE IN A BUNDLE
SELLING BOOKS BY MAIL
r FINALLY-A REAL OPPORTUNITY TO 1
ENJOY A RICHER ... BETTER LIFE
y
Our organization — Successful Business Publishers,
offers what is perhaps the largest Collection of Unique
‘Home-business’ Beginner’s Success Manuals in the
world! Out of over a thousand of businesses in our
organization’s files — our home business specialists,
have painstakingly selected The 15 Fastest, Easiest
... Most highly Profitable part-time and fulltime
Businesses you and other beginners can quickly start and
easily operate from home — with very low or, virtually,
no investment.
How many of these Proven, Highly Profitable Enter¬
prises, can you combine together and successfully operate
— and Benefit From At The Same Time? Possibly, all
fifteen if you’re that ambitious ... The big Shrewd
Corporations, call this almost secret method ‘diversifi¬
HOWTO WIN BIG CASH
AND VALUABLE PRIZES
_ CONTESTS
BIG FAST FULL TIME AND
PART TIME PROFITS FOR
WOMEN
, 1 -
1
cation’ which is, merely, a high sounding big word, which
simply boils down to — having a lot of different busi¬
nesses, operating ... and pouring fast-fat profits »
into your pockets, at the same time.
Let’s face it — Plain common sense says that — the more
of these 15 Proven Profitable Businesses, you choose
to operate at the same time ... the bigger, and faster
your profits could be! Of course, our organization will
profit a few more dollars if you choose to put five, ten
or all fifteen of our proven profitable, start-up success
EASIEST AND FASTEST
WAY TO START A
SUCCESSFUL MAIL ORDER
BUSINESS ON A
SHOESTRING
manuals, to work for you.
But then — why should our making a modest few
dollars of profit bother you — when it’s you, who makes
... and keeps all the income — no matter how much —
Your different home businesses bring in? The demand
for our unique wealth-building Beginners Start-Up
Success Manuals has been so overwhelming ... and,
understandably so too, since, there’s absolutely nothing
Jike them on the market! j
wt
Our No-Risk
HOW TO SEE THE WORLD
Success Guarantee To You
TRAVEL ANO GET PAID
WELL FOR IT
You must be absolutely, positively, and totally
convinced that the actual money making
success profitability of each manual is real
— and may quickly increase your income
or you may return everything within 10 days
Jor a prompt no hassle refund. v
, Remember, those who snooze will certainly
THE AMAZING HOME WOMEN S
WORK AT HOME
SUCCESS GUIDE
(For M*n and
EASY STREET
TWELVE SIMPLE LITTLEK*
WAVS TO MAKE
BIG MONEY FAST'
More Businesses You Operate ... More Money You
Make ... Guarantees You Riches Beyond Your
Wildest Dreams!
So, be sure to keep in mind that: Even though, it’s true — some
good money could be made with just a single one of these
start-up success manuals working for you... but, much better than
that, you could give yourself a greater opportunity to make your
profits multiply much faster, by simply putting together a
super powerful profitable combination of five, ten, or more of
these fifteen — fastest, easiest... proven profitable businesses
out of over a thousand in our files. Imagine having them all
operating, and bringing in big hefty profits for you, at the same
time! But you must send your order in right away. Supplies are
extemely limited at these special introductory low prices!
lose. However, those who choose right now,
to begin — can win, and right now, while
there’s still time, is the best time to begin.
You’ll be making a very wise and highly
I profitable move. ORDER NOW!
Beginners Start-Up
Success Manuals Order Form
Circle the manuals you are ordering
1 2 3 4 5 6 7 8
9 10 11 12 13 14 15
I have circled above the catalog number of each Success
Manual I am ordering, and I’ve included the proper amount
to help cover shipping and handling, as indicated below. Also,
I’m fully protected by your organization’s strong, no-risk
success guarantee that - unless I am totally convinced that
the actual money making success profitability of my manual(s)
is real - and may quickly increase my income. Also, I may
return everything within 10 days, for a prompt, no-hassle,
full refund.
Total Success Manuals Ordered_
Full Amount Enclosed
FREE
The More Success Manuals You Order
The More FREE limited Editions You Get
Buy Any 2 to 5 SUCCESS MANUALS And Get Free! Any
One Of The Three LIMITED EDITIONS Below, or Buy
Any 6 to 10 SUCCESS MANUALS And Get Free! Any Tivo
Of The Three Below, or Buy Any 11 to 15 SUCCESS
MANUALS And Get Free! All Three Below.
HOW TO QUICKLY
WIP€ OUT ALL YOUR DEBTS
ANO TURN BAD CREDIT
RATING INTO GOOO
VERY LITTLE MONEY
HOW TO RAISE
ALL THE CASH YOU
NEED IN A HURRY.
If you need $5,000, $20,000,
$100,000 or more to help
get your new business off
the ground — then, you’ll
most certainly want to read
this book. Even if you’ve
already been turned down
by banks... and finance
companies.
HOW TO QUICKLY
WIPEOUT ALL
YOUR DEBTS AND
TURN BAD CREDIT
RATING INTO GOOD!
Now with this amazing
book — you can stop bill
collectors cold in their
tracks. Here’s your golden
opportunity to get out of
debt without borrowing.
HOW TO RETIRE
YOUNG AND LIVE
LUXURIOUSLY ON
VERY LITTLE MONEY.
Finally — It’s possible
for you to say“goodbye”
and “good riddance” to
that old out-dated idea
that you must remain on
a boring nickel and dime
wage slave, time-clock
punching job until you
reach 65.
sure to include proper shipping and handling fee -
see charges below:
SHIPPING AND HANDLING CHARGES
Ordering just one Success Manual Add $1.25 for S&H
Ordering from 2 to 5 Success Manuals Add 90C per
each manual
Ordering from 6 to 14 Success Manuals Add 50c per
each manual
ENJOY BIG SAVINGS ON ORDERS FOR ALL 15
SUCCESS MANUALS - We pay all Shipping & Handling
Cost, (a hefty savings of S7.50!).
Note: We pay shipping and handling on each Limited
Edition Manual your order qualifies for._
Check the box below which indicates each desired
FREE Limited Edition Manuals’ Title(s) which your
order qualifies you to receive FREE:
■ How to quickly wipe out all your debts and turn
bad credit rating into good
■ How to raise all the cash you need
in a hurry
■ How to retire young and live luxuriously on very
little money
METHOD OF PAYMENT (all prices are in U.S. funds):
□ My check or money order is enclosed (do not send
currency through the mail).
Sorry - due to high percentage of sale charged by card
companies - charge card orders not accepted.
SHIP TO
Name_
Address _
City_
-Zip-
Complete this order form and mail to;
SUCCESS BUSINESS PUBLISHERS
110W. 5th Street
b JA/instoruSalem, N.C. 27101 ^
I ©1985 Successful Business Publishers
BOOK REVIEW
Database Practicum
This in-depth book on practical techniques features a solution
for challenging real-world database management problems.
Micro Database Management:
Practical Techniques for Applica¬
tion Development
Robert H. Bonczek, Clyde W. Holsapple,
and Andrew B. Whinston (Academic
Press, Inc., Orlando, FL, 1984)
511 pages, paper, $37.50
The abstract discus¬
sions and simple
examples included
in books on data¬
base management
often fail to give
readers the in-
depth understand¬
ing of practical
techniques that is
necessary for appli¬
cation development. The authors of Mi¬
cro Database Management , however,
have selected for their book an interest¬
ing assortment of challenging real-
world application problems. Each of
these problems is addressed with a
specific database management system
(DBMS) to illustrate practical develop¬
ment techniques. Micro Data Base Sys¬
tems III (MDBS III) is used as the
DBMS of choice for the examples in¬
cluded throughout the book.
The book is written on a profes¬
sional level, but the carefully selected
examples help the reader’s understand¬
ing of the basic and complex concepts
involved. Professional developers and
students will find Micro Database Man¬
agement useful. It covers all the usual
DBMS fundamentals: data items, record
types, and relationships between record
types, as well as many advanced topics
that usually are not discussed in depth
in books on the subject, such as the rel¬
atively new postrelational (or extended-
network) data model, end-user inter¬
face, database restructuring, and data¬
base integrity and security.
The first three chapters provide
a general background in the area of
applications development for micro¬
computers. The evolution of database
management is studied, and file man¬
agement systems are contrasted with
DBMS. Six end-user needs are defined
that must be satisfied by the database
management system as inexpensively as
possible: ability to manipulate data with¬
out programming or knowledge of data
structures; data security; compatibility
with existing hardware and software;
portability to other environments; high
performance; and extendability. The au¬
thors indicate that high-quality micro
application software can be built to
match the software available on main¬
frames, provided the appropriate tools
are used. Characteristics and features of
such tools for data-handling, screen¬
handling, and control-computation tasks
are discussed in detail.
Micro Database Management pro¬
vides an excellent insight into the fun¬
damentals of logical structuring. A very
practical technique for designing sche¬
mas is presented that systematically
takes the developer through the seven
steps necessary for a complete design:
identify each data item and its purpose;
collect items for which there is a one-
to-one relationship into record types;
put each remaining data item into a rec¬
ord type; identify one-to-many relation¬
ships between record types; delete du¬
plicate relationships; create many-to-
many relationships for all other record
types; and create additional relation¬
ships using artificial record types to
support required reports.
The book also covers database pro¬
cessing. Various data manipulation com¬
mands are discussed in detail. The
chapters on this subject provide in-
depth illustrations of how an actual
application system is developed. These
examples, like the many others in¬
cluded in the book, play an essential
role in clarifying sophisticated concepts.
The database management systems
used in the examples are designed us¬
ing MDBS III data manipulation lan¬
guage (DML). Although this DML can be
used with a number of host languages,
the examples in the book are not writ¬
ten in any specific high-level language.
Instead, a pseudolanguage is used to
make the material accessible to all read¬
ers. The syntax of this language is ex¬
plained in the book and proves to be
very easy to understand.
One of the book’s chapters is de¬
voted to a discussion of the interactive
data manipulation language (IDML), a
low-level procedural language, and the
query retrieval system (QRS), a high-
level non-procedural language. A sec¬
ond chapter shows how some of the ad¬
vanced features exclusive to the post-
relational data model—such as direct
representation of many-to-many, recur¬
sive, and forked relationships—can help
simplify the task of the applications de¬
veloper. The book offers performance
enhancement guidelines for advanced
developers. It illustrates how a perform¬
ance-conscious developer can take ad¬
vantage of the underlying physical struc¬
ture to optimize performance.
Another chapter gives a complete,
detailed case study, which does a good
job of encompassing all the concepts
covered in previous chapters and pro¬
vides an excellent illustration of how an
actual problem can be implemented.
While multiuser database processing is
often ignored in database books, Micro
Database Management has detailed
examples (using MDBS III facilities)
of how to develop effective multiuser
applications software.
Although many concepts discussed
in the book would be useful in any
DBMS context, the book’s full potential
is realized only when it is used in con¬
junction with MDBS III. The book is an
important contribution to the database
field. It can provide practical knowledge
for applications development and
should be a valuable addition to any
database library. I "iTTmnn
—NASIR GHIASEDDIN
MICRO DATABASE MANAGEMENT
PRACTICAL TECHNIQUES
FOR APPLICATION DEVELOPMENT
FEBRUARY 1987
193
Introducing
multi-channel
communications
boards400%
fester than
what you’re.
probably using
^ 0 ^
w "inr — ' h*iw •
Introducing the
DIGIBOARD COM/Xi Series front-end processor.
Intelligent multi-channel communications boards
400% faster than the industry standard.
Like our popular COM/X Series, they provide
users of PC/XT/AT-compatible computers with four
or eight individually addressable serial ports. But
with the new COM/Xi series we’ve added:
• an 80188 co-processor operating at 10 MHz
• 256K of dual-ported RAM + 16KofROM, all
accessible to user/ programmers for application
and security software development
• a modular design that allows us to custom-
tailor I/O to individual customer requirements.
On-board intelligence means more speed for
multi-user operating systems and multi-channel
data collection and dissemination.
And makes the new DIGIBOARD COM/Xi
Series a more intelligent choice for you.
Digi
Plugging you into Tomorrow.
Call 1-800-344-4273. In Minnesota, ( 612 ) 922 - 8055 .
SOFTWARE SENTINEL
-
Stop unauthorized use of software...and keep your cus¬
tomers happy at the same time. The no-interference hardware
keys from the industry's leading supplier put money in your pocket and
save you from angry customer complaints. Our product line includes
devices for either parallel or serial port. The latest addition allows you to
cover multiple programs with one device and/or customize
as needed. Call for new low prices.
SOFTWARE DEVELOPER BENEFITS
• Prohibits unauthorized use
of software
• No need for copy
protection
• Algorithm technique
(never a fixed response)
• Virtually unbreakable
»Higher level language
interfaces included
• 100 times faster (1 ms)
than fixed response devices
• Minimal implementation effort
• Runs under DOS and Xenix, on
IBM PC, AT, XT & compatibles
SOFTWARE USER BENEFITS
• Unlimited backup copies • Pocketsize
• No floppy required with • Transparent
hard disk • Transportable
O
RAINBOW
TECHNOLOGIES. INC
EVALUATION KIT AVAILABLE
Telex 386078
17971 SKYPARK CIRCLE SUITE E, IRVINE, CA 92714
(714)261-0228
CIRCLE NO. 157 ON READER SERVICE CARD
The VF PC
-From--
VF Associates
The VF PC is fully IBM compatible... better than
Leading Edge! The standard VF PC system is
equipped with: 8088 motherboard, 8 slots, 150
w. power supply, XT case, 2 floppy drives, hi-res
12-inch green or amber TTL monitor, con¬
troller with Hercules-compatible graphics &
printer port, 640K memory, full keyboard,
and 1 year warranty (system unassembled)
ASSEMBLED & TESTED: .
DELUXE SYSTEM: with P/S/G ports and clock, AT style
keyboard, 8 MHz turbo ^
motherboard, unassembled: . *
COLOR SYSTEM, unassembled. ®
PLEASE NOTE: The VF PC is designed so that you can
assemble your own PC to create the system that’s best
for you. Call us today about the other VF PC options that
are available. Also, ask about our FREE catalogue.
!'ASSOCIATES
STORE HOURS: Monday through Thursday: 12 noon-8 p.m.
Friday: 12 noon-6 p.m. ■ Saturday: 11 a.m.-5 p.m.
(Pikesville Store Closed Wednesdays)
8231 Woodmont Ave., Bethesda, MD 20814 S ooi) 652-4232
220 Reisterstown Rd., Pikesville, MD 21208 B (3oi) 484-8901
194
CIRCLE NO. 110 ON READER SERVICE CARD
CIRCLE NO. 127 ON READER SERVICE CARD
PC TECH JOURNAL
NEED IT FAST?
WANT TO KNOW MORE?
DON’T HAVE TIME TO
SHOP AROUND?
INTRODUCING...
I f you’re like most system pro¬
fessionals you’re up-to-date
about the products in the PC
marketplace. You’re aware of
brand and model differences, are
informed about connectivity and
compatibility problems, and you
shop for competitive prices and
fast service.
You’re also probably among the
many PC TECH JOURNAL readers
who purchase by mail. That’s
why we’re starting THE MART—
PC TECH JOURNAL’S First Class
Mail-Order Section.
Starting this month, and every
month hereafter, you’ll find the
products you’re looking for
advertised in THE MART—and
you’ll benefit from the fast
service and helpful support that
identifies PC TECH JOURNAL
advertisers.
If you’re ready for First Class
service, you’re ready for THE
MART.
THE
FIRST CLASS MAIL ORDER SECTION!
AST ADVANTAGE W/1 28K.$365
VIDO 7 VEGA EGA .$425
GENOA SPECTRUM.$295
FORTE PJ.$875
INTERNAL HARD DISKS FOR THE AT
SEAGATE USED BY IBM
PRIAM 40 MB.$1195
PRIAM 60 MB.$1395
RODIME 20 MB.$595
RODIME 32 MB.$695
CORE 20 MB "F".$1195
CORE 30 MB' F' .$1395
CORE 40 MB.$1795
CORE 56 MB.$2595
CORE MR _ S3PQS
SEAG/
SEAG/
SEAG7
no ^ m.is.Hsi
e reflects quantity pure he
"HOT" NEll) PRDDUC
★ AMERICA’S ★
LOWEST PRICES
ARE EVEN LOWER NOW!!!
(25 MS)
UNIock ALBUM “A"
$49.95
LASER
128 Al'
|uir yiu
urnIf
■Plot’s enha
ltor softwar
Compatibles
■DEC VT-1OO/VT-52, a Retroi.
JO, a Tektronix 4010/4014 oi
Cl Tektronix 4027. Over 12,01
jjrrently in use world-wide a
■rations, educational facilities
Bind independent consulting
lore information call toll free|
• LOTUS 1-2-3™ (i a, i.a*, 2.0)
• dBASE III™ (1.0, 1.1, 1.2 & PLUS)
•FRAMEWORK™ ( i.o, i.i,.»
• SYSTAT™ (i.3 & 2 0)
•SPOTLIGHT™ (i.o & id
• GRAPHWRITER™ (4.3 & 4.3i)
• REALIA COBOL™ (1.2,2.0)
-—fWf
ABKWT.
B F. HT.
BF.HT e (25 MS)
fPEFT
IBM XT 256K/1 Dr 20 MB 2250
IBM XT 256K/1 Dr ,/30 MB 2299
IBMA Tr /2K/20MB 3895
IBM AT 512K/30 MB 3995
Compaq Desk Pro-1 128K/1 Dr. 1699
Compaq Portable 256K/2 Dr. 1650
AST 6 PAK w/384 K/Advantage 259/369
MCI MSC W/384K 175
(25 MS) Samsung/PGS Max 12 109/169
Princeton HX 12/E 435/535
Hercules Color Card/Monochrome graphic 150/299
Hayes 1200B w/SW
US Robotics Courier 2400
SPECIALS
in MR Harr! nkk
INTRODUCING
ion Stef-
High Perfol
Drive Subsystem
DRIV E PE|
j ConfigurotTc
|l G H PER F O R M A
AT SPEEI
I he industry's recognized leader in High Performance Spe
live performed extensive research and developed unmatc S;
I field. Our products offer the COMPLETE solution.
IXCELX “ -Switch from five frequencies including the standi:!
|12HMz. Uses reliable frequency synthesis to allow compote ;§
I with all IBM ATs including the TYPE 2 and Model 239 .
SMII-Spec Crystals-The famous Ariel cyrstals. Choose fronr| : 5
116-17-18-19-20-21-22-23-24 MHz.
I FAST 80286-10-Micro-processor for 20-24 MHz speeds .
1 FAST RAM-For System Board 128K 120 & IOO NS.
4CoST/2 T
Complete
Forecasting
System
For marketing, planning, financial
and forecasting professionals:
I Easy to use menus with on-screen help
facilities
I Most often used forecasting methods
I Popular spreadsheet interfaces
I Outstanding color graphics
I Fast RAM-based program
I Thoroughly tested and numerically
accurate _
I Exponential smooth
I Step-wise and robus
capabilities
I Macro language for
applications
I Full documentation
Only: $350 Demo F
4CaST/2X: includes a f
version of the Census’X-
Only: $595 Demo C
Roth
IB for AT
ISA MC AMEX COD P0
Dr./MTR
389
479
559
895
775
37Q
360/499
575/675
—-<
opp
“Top Sellers Series”
UNIock DISK “NO. 101”
$14.95
LOTUS 1-2-3™
(I.A, I.A*. 2.0)
“Top Seller Series”
UNIocks individual
best selling programs
at a special low price!
f \eh
%\W®'
8088-2 CPU
640K Ram Expand To 1MB
4.77/8Mhz Speed
360K Floppy Drive
2 Serial Ports
1 Parallel Port
Clock/Cal. Battery
SASI Interface
135/150W P/S
ramm
ZK HEIGH '
SAME WARRANTY &
SERVICE
UNBEATABLE!
V1SA/MC, PREPAYMENT
FULLY IBM
COMPATIBLE
turnkey
AT SYSTEM
$1495
✓ 80286-10 CPU
✓ 6/10 MHz Speed
✓ 1 MB RAM
✓ 1 Serial Port/1 Parallel Port
IS
\* Hard Disk/FL Contr.
§ ✓
✓ Clock/Cal, Battery
✓
is 192W Power Supply
i* AT Keyboard
✓ Hercules Compatible
Mono Adapter
1 ✓
High Resolution Mono
Monitor
✓ Runs Autocad, Unix, Ze-
nix, Novell
1 *
✓ 15 month Warranty
✓ 30-Day Money Back
Guaranty
✓ Free Nationwide Onsite
Warranty
✓ Excellent Manuals
✓ 24-Hr Online Tech
Support
DCTt
$830
CIRCLE NO. 183 ON READER SERVICE CARD
PC XT /AT ADDON BOARDS
• MS DOS/QW Basic 3.2.$80
• XT Mother Board/Bios.$83
• XT Turbo Board/Bios.$103
• Monochrome/Graphic/Printer Card . . . $66
• Monochrome Graphic Card.$60
• Color Graphic/Printer Card.$60
• Color Graphic Card.$50
• XT Multi I/O Card.$73
• XT I/O Plus II.$45
• Floppy Disk Controller
1 port.$25
2 port.$33
• RS232 Interface Card
1 port.$22
2 port.$27
• Parallel Printer Card.$19
• Clock Card.$25
• Game Card.$18
• Hard Disk Controller Card.$100
• Hard Disk/Ploppy Disk Controller Card $123
• XT 2 MB RAM Card.$195
• AT Mother Board/Bios.$490
• AT 3 MB Multifunction Card.$178
• AT 4 MB RAM Card.$210
• AT 1.2M Floppy Disk Card.$72
• EGA Card.$245
• AT HDC/FDC Controller w/Cable.$215
KEYBOARDS
• 5151 Style AT/XT Keyboard.$68
• 747 AT Style AT/XT Keyboard.$53
POWER SUPPLY
• 150 Watt XT Power Supply.$53
• 200 Watt AT Power Supply.$85
MONITORS
PARCO (Sony)
Height Resolution
12 " 90° Monitor 800
x 700 Lines With
rion-QIare
Screen/Swivels
Base Amber. $115
• SAMSUNG - Amber.$79
• TAXAPi 620 Color.$375
• TAXAH 630 Super Hi-Res. Color.$445
• TAXAH 640 Super Hi-Res. Color.$495
• TAXAH 760 EGA Monitor.$499
PRINTERS
• RITEMAH PLUS (120 cps. 80 col.).$175
• RITEMAH -15 (160 cps. 136 col.).$345
• BROTHER M1509 (180 cps. 136 col.) . . . $395
DRIVES
• TEAC 360K Floppy Drive.$90
• FUJISU 360K Floppy Drive.$82
• CHIHOH 360K Floppy Drive.$85
• 20MB Hard Disk/WD.$Call
• 30MB Hard Disk/WD.$Call
• 1.2MB TEAC AT Drive.$135
CHASSIS
• Flip Top XT Case.$29
• Slide Off XT Case.$36
• AT Jr. Style XT Case.$37
• AT Case.$85
All Cases Include Speaker/Hardware
MODEMS
• Internal Modem-Everex.$137
Select 300/1200 bps, powerful BitCom
Communication Software included. Auto
answer/dial.
• External Modem-Smarteam.$160
PC/AT 2000 SYSTEM
• 80286 Processor (6/8MHZ)
• 1024K RAM
• 1.2MB Floppy Disk Drive
• AT Hard Disk/Floppy Disk Controller Card
• Clock/Calendar with Batter Backup
• AT Style Keyboard
• 200W Power Supply/Case
• Runs All Major Software
• Six Month Warranty
$1249
PC/XT 2000 SYSTEM
• 640K RAM
• 360K Half Height Floppy Drive
w/Controller
• AT Style Keyboard
• 150W Power Supply
• Slide Off Case
• Runs All Major Software
• Six Month Warranty
$495
(201) 944-5002
2142 N. Hudson St.
Fort Lee, NJ 07024
IBM PC, IBM XT and IBM AT are trademarks
OF IBM corpration.
MS-DOS is a trademark of Microsoft
Corporation.
Prices Subject to Change without Notice.
ORDER TOLL FREE:
1 - 800 - 367-1132
MONDAY - SATURDAY 9AM - 6PM EST.
Customer Service
(201) 944-5010
9AM - 5PM EST. M-F
ORDERS SHIPPED UPS COD
WITHIH 24 HRS.
196
CIRCLE NO. 184 ON READER SERVICE CARD
PC TECH JOURNAL
Today’s 386 compatibles
fall into two categories:
Those that “enhance” technology.
And (hose that blow it away.
The PC Designs GV-386 is not an enhance-
ment. It’s the fastest 80386-based compatible
you can buy.
That’s because the engineers here at PC Designs
realized early on that to take full advantage of the
80386 chip, an equally revolutionary motherboard
was needed.
So they started with a blank piece of paper and—
from the ground up—designed a 80386 micro that
blows the doors off every other compatible available.
Get Power Hungry
At the heart of the GV-386 is a 32-bit processor
operating at 16MHz clock speed; keyboard switchable
to 8MHz (it will even support 24MHz operation, once
Intel makes that available).
And that’s Zero Wait State clock speed, thanks to a
specially-designed, high-speed memory cache circuit.
When enabled, this unique circuit—with a full 64K of
static RAM—allows you virtually instant data
retrieval 80 percent of the time.
The cache circuit—a PC Designs exclusive—also
ensures rock-solid reliability because it eases the load
high speed puts on the integrated circuits. Even at
zero wait state, the GV-386 never exceeds IC design
specifications.
Radical, but compatible
Despite its radical innovations, the GV-386 was
designed to retain the standard 8MHz IBM PC-AT
bus timing. The result is unparalleled compatibility
with existing software and hardware.
And every GV-386 is bundled with Desqview 1.3
from Quarterdeck Office Systems, giving you both
expanded memory management and multitasking
capabilities allowing up to nine simultaneous opera¬
tions.
Affordable power
If all this speed and performance doesn’t blow you
away, take a look at the price: The standard system
starts at around $4000. And it’s available now.
The fact is, it’s the most innovative compatible
to date. So why settle for an 80386 machine that
just “advances” technology, when the GV-386
blows it away?
2500 N. Hemlock Circle
Broken Arrow, OK 74012
19 Rector St., Suite 2705
New York, NY 10006
Call us now in New York: 1-212-514-7280 or in Tulsa: 1-918-251-5550
CIRCLE NO. 159 ON READER SERVICE CARD
i i.r~f.i ~r~T
i i iir
NOVELL
NETWORKING
DESIGN &
INSTALLATION
Technical Support and Shipping and Receiving
(703) 761-6177 78
ITS TEK-NET-BBS (703) 690-7462
Open 7 days a week
(703) 847-4740 (800) 642-2395
"Serving the Nation's Capitol
and the World"
Software
SUPERCALC 4
$335
SUPERPROJECT +
$295
WORDPERFECT 4.2
$250
DBASE 3 +
$430
FOXBASE +
$335
FRAMEWORK II
$399
RBASE 5000
$320
RBASE SYSTEM V
$396
CROSSTALK XVI
$99
REFLEX
$96
TURBO PASCAL
$42
TURBO PROLOG
$60
TURBO LIGHTNING
$61
NORTON UTILITIES
$57
MS WINDOWS
$69
MS QUICKBASIC
$65
MS C-COMPILER
$298
MS WORD
$280
WORDSTAR 2000
$270
MULTIMATE
Easg Business
Accounting Systems
GENERAL LEDGER
$395
ACCOUNTS RECEIVABLI
$395
ACCOUNTS PAYABLE
$395
INV. CONTROL
$395
RETAIL INVOICING
$395
PAYROLL
$458
ORDER ENTRY
$395
TIME, BILLING &REC.
$635
Video Cards
QUAD EGA +
$379
PARADISE AUTO
SWITCH
$419
STB EGA
$299
TECHMAR EGA
$299
VEGA DELUXE
399
Drives
20 MB SEAGATE 65MS
$399
30 MB SEAGATE RLL
$499
20 MB ST4026 AT
$573
30 MB ST4038 AT
$651
40 MB ST4051 AT
$792
80 MB ST4096 AT
$1273
40MB PRIAM XT
$1395
60MB PRIAM XT
$1450
40MB PRIAM AT
$1175
60MB PRIAM AT
$1350
BERNOULLI DUAL 10
$1939
BERNOULLI DUAL 20
$2594
20MB PLUSHARDCARD
$695
20MB MAYNARD HCARD
$759
ISI WORM 220MBINT.
$3295
TEAC360K DRIVE
$89
60MB ARCHIVE TAPE
$740
60MB ARCH. EXT. TAPE
$740
60MB GENOA TAPE
$935
60MB SYSGEN
$1089
TOSHIBA 3.5 DRIVE
$150
TOSHIBA 10 MB DRIVE
$899
‘TOSHIBA 5.25 EXT.
$349
Memory Boards
JRAM2
$129
JRAM 3 ABOVEBOARD
$179
JRAM AT
$179
JRAM AT3 ABOVEBOARD $239
JLASER MODULE
$265
JLASER + AVAIL.
INTEL ABOVEBOARD
$438
AST RAMPAGE 512K
$485
ORCHID CRAMRAM
$291
ZUCKER BOARD
$68
AST 6 PAK + W/384
$199
QUADBOARD W/384
$189
Chips
64K 150ns set of 9
$8
64K 120ns set of 9
$9
256K/150ns set of 9
$23
256K/120ns set of 9
$25
64x4
$4
128K Piggyback
$5
8087-3
$119
8087-8
$169
80287 5MHz
$239
80287 6MHz
$245
80287 8MHz
$318
• Prices subject to change
12/18/86
• 10% re-stock fee
on all items
•Software non-returnable
if opened
• No surcharge on VISA, MC,
CHOICE.. .AE, 3%
chnology Services
ems Specialists
., Vienna, VA 22180
Printers
, Inc.
NEC P-6
$480
NEC P-7
$685
NEC P-5
$1122
NEC P-5XL
$1245
PANASONIC 1080 I
$235
PANASONIC 1091 I
$299
PANASONIC 1092
$360
PANASONIC 1592
$480
STAR LV1210
$189
STAR NX-15
$383
STAR ND-15
$445
STAR NR-15
$537
STAR NB 24-15
$699
STAR SD-10
$355
STAR NX-10
$255
BROTHER 1509
$440
CITIZEN MSP-10
$320
CITIZEN MSP-15
$435
CITIZEN PREMIER 35
$485
TOSHIBA P341
$835
TOSHIBA P351
$1227
FUJITSU DLP24
$1239
FUJITSU DM9I
$413
OKIDATA M182
$253
OKDATA M192 +
$412
OKIDATA M193 +
$613
OKIDATA M84
$713
OKIDATA 2410
$1976
EPSON FX-286
$624
EPSON LX-80
$285
EPSON FX-85
$434
EPSON LQ-800
$631
Laser Printers
CANON A1
$2095
CANAON A2
$3085
HP LASERJET
$2295
QMS KISS
$1995
XEROX 4045
$CALL
Specials
Color RGB Mon.
$305
Amdek310A
$150
TEAC 360 Drive
$89
Samsung Monitor
$89
Amdek 722
$549
NEC Multi-Sync
$631
* *Other Systems
Sharp PC 7000
$1095
IBM XT
$1798
IBM AT
$2789
BIOS AT 8MHZ
$1769
Visa, MC, CHOICE, AE
Leasing, Renting &
Financing available
Ipilsm
s 895
‘Editor’s Choice”
ITS Turbo XT
1 year warranty
30 day
money back
guarantee
The $895 ITS
Turbo XT from
Information and
Technology Services
is our “best buy”
recommendation
with 20MB $1224.00
PC MAGAZINE
OCT. 14, 1986
IBM® PC Compatible
oo
complete
i
2,895
■^SPERRY
PC/IT
Superior to the IBM AT
Rated 8.8 by InfoWorld
44MB, 28ms Access Hard Drive
3 Speed Processor
Free 8MHz Math Coprocessor
1.2MB Floppy , 640K Ram
2 Serial/1 Parallel Ports
Clock/Calendar, AT Keyboard
DOS 3.1, Basic, System Guide
oo 1 year warranty
Available now
4495
00
ITS
SYSTEM 386
BLACKHAWK
Features:
• INTEL 80386 CPU and support circuits
• INTEL designed motherboard
• Phoenix BIOS
• 18 Mhz clock speed
• PC/AT compatible 8 Mhz switchable
from keyboard
• 512K RAM standard up to 14 megabytes
• Parallel/Serial/Clock
• 8 Slot Expansion bus interface
2- PC Compatible 8 bit bus connectors
2-32 bit bus connectors
• Hard disk/Floppy disk controller
• 1.2 megabyte floppy
TOSHIBA Lap-Top
T-1100 Plus oHi
(DUAL FLOPPY) $ ^gQ£*00
• 256K Ram Memory $iqqc
• CMOS 80C86 Run- * ith
ning at 7.1 MHz • Two
720K 3.5" Floppy Drives
• One Expansion Slot •
TOSHIBA Keyboard • LCD Display
• Color Graphics/Monochrome Composite
Card • One Parallel and Serial Port • Clock Calendar
• External Floppy Drives Optional • DOS 2.1
1800 +
80286 CPU
IBM AT Compatible
512K of RAM
expandable to 1MB
1.2MB Floppy
AT Keyboard
Documentation and
Diagnostics
Made in the USA
s 1195
OO
Programmer’s Paradise Gives You Superb Selection,
Personal Service and Unbeatable Prices!
Welcome to Paradise. The PC/MS-DOS software source that caters to your individual programming needs.
Discover the Many Advantages of Paradise...
• Lowest price guaranteed Huge inventory, immediate shipment • Special orders
• Latest versions Knowledgeable sales staff 30 -day money-back guarantee
We’ll Match Any Nationally Advertised Price.
C+ +
ADVANTAGE C+ +
LIST OURS
$ 495 CALL
LIST OURS
LIST OURS
PFORCE++
395 CALL
C COMPILERS
C-86 PLUS
497 CALL
DATALIGHT -C
60
49
DATALIGHT - C DEVELOPER’S KIT 99
79
LATTICE C 3.2
500
289
LATTICE C W/SOURCE
900
545
LET’S C
75
59
W/CSD DEBUGGER
150
109
MICROSOFT C 4.0
450
275
MARK WILLIAMS C
495
289
SUPERSOFT C
395
339
WIZARD C
450
369
C INTERPRETERS
C-TERP
300
235
INSTANT C
500
379
INTRODUCING C
125
105
RUN/C
150
89
RUN/C PROFESSIONAL 1.1
250
169
ASSEMBLERS, LINKERS
386IASM/LINK
495
445
ADVANTAGE LINK
395
349
MACRO-86
150
98
PASM-86
195
135
PLINK 86 PLUS
495
335
QUELO 68000 X-ASM
595
509
Polytron Specials
POLYBOOST
80
65
POLYTRON C BEAUTIFIER
49
45
POLYTRON C LIBRARY I
99
75
POLYTRON POWERCOM
179
135
POLYLIBRARIAN
99
75
POLYLIBRARIAN II
149
115
POLYMAKE
99
75
POLYWINDOWS PRODUCTS
CALL CALL
POLYXREF
219
175
POLYXREF (One Language Only)
129
105
PVCS
395
315
C UTILITY LIBRARIES
ASYNC MANAGER
BASIC C
C ESSENTIALS
C FOOD SMORGASBORD
W/SOURCE
C TOOLS PLUS
ESSENTIAL C UTILITY LIBRARY
ESSENTIAL COMMUNICATIONS
W/BREAKOUT DEBUGGER
GREENLEAF FUNCTIONS
GREENLEAF COMM
THE HAMMER
MULTI C
MULTI COMM
PFORCE
TIMESLICER
W/LIBRARY SOURCE
TOPVIEW TOOLBASKET
175
175
100
150
300
175
185
185
250
185
185
195
149
149
395
295
135
129
85
98
188
135
135
135
195
135
135
175
135
135
245
265
SORT UTILITIES
AUTOSORT
M/SORT
OPT-TECHSORT
150
155
149
1000 CALL
250 189
GRAPHICS
ADVANTAGE GRAPHICS
295 CALL
ESSENTIAL GRAPHICS
250
195
GSS GRAPHICS DEVELOPMENT
TOOLKIT
495
379
GSS KERNEL SYSTEM
495
379
GSS METAFILE INTERPRETER
295
239
GSS PLOTTING SYSTEM
495
379
HALO—ONE LANGUAGE
300
209
HALO—FIVE MICROSOFT
LANGUAGES
595
415
METAWINDOWS
185
115
METALINDOWS PLUS
235
189
METAFONTS
80
59
METAFONTS PLUS
235
189
SCREEN DISPLAY, WINDOWS FOR C
C WORTHY 295 269
CURSES 125 94
W/SOURCE 250 184
DATA WINDOWS 225 159
W/SOURCE 450 315
FLASH UP WINDOWS 75 68
MICROSOFT WINDOWS
DEVELOPMENT SYSTEM 500 329
ON-LINE HELP 149 109
PANEL 295 224
SCREENPLAY (LATTICE) 150 135
SOFTSCREENHELP 195 175
VIEW MANAGER 275 199
VITAMIN C 3.0 225 199
VC SCREEN 99 84
WINDOWS FOR C 195 145
WINDOWS FOR DATA 295 250
ZVIEW 245 189
FILE MANAGEMENT
BTRIEVE 245 195
XTRIEVE 245 195
W/REPORT GENERATION 390 315
BTRIEVE/N 595 465
XTRIEVE/N 595 465
W/REPORT GENERATION 940 750
C TREE 395 329
RTREE 295 249
CTREE/R TREE BUNDLE 650 529
CQL 395 329
DBC III 250 189
W/SOURCE 500 379
DB VISTA 195 155
W/SOURCE 495 425
DB QUERY 195 155
W/SOURCE 495 425
FABS 150 129
FABS PLUS 195 169
INFORMIX 795 639
INFORMIX 4GL 995 799
INFORMIX SQL 795 639
PHACT 295 265
MAKE, LINT, PROFILE, UTILITIES
C CROSS REFERENCE GENERATOR 50
LMK 195
POLYMAKE 99
PMAKER 125
PFINISH 395
THE PROFILER 125
PC LINT 139
PRE-C 295
TEXT MANAGEMENT UTILITIES 120
DEBUGGERS
ADVANCED TRACE 86 175
BREAKOUT 125
CODESMITH 86 145
C SPRITE 175
Cl PROBE 75
CSDSOURCE DEBUGGER 75
PERISCOPE 13.0 345
PERISCOPE II 3.0 175
PERISCOPE II-X 3.0 145
PFIX 86 PLUS 395
XVIEW86 60
129
139
115
39
145
75
95
245
94
105
165
94
139
99
108
138
59
59
293
145
109
245
49
February’s
Bundle of the Month
BTRIEVE, XTRIEVE, REPORT GENERATOR
(formerly RTRIEVE)
LISTS TOGETHER $635 OURS $495!!!
EDITORS
BRIEF
195 CALL
CVUE
75
59
W/SOURCE
250
195
EDIX
195
155
EMACS
295
265
EPSILON
195
159
FIRSTIME (C)
295
229
KEDIT
125
105
LSE
125
95
PMATE
195
125
PC/VI
149
129
SPF/PC
195
149
VEDIT
150
109
VEDITPLUS
185
139
ADDITIONAL PRODUCTS
DAN BRICKLIN’S DEMO PROGRAM
75
59
FASTBACK
175
149
INTERACTIVE EASYFLOW
150
129
PDISK
195
129
SOURCE PRINT
139
115
VENTURA PUBLISHER (XEROX)
895
805
LIST OURS
PASCAL COMPILERS
MICROSOFT PASCAL
300
189
PASCAL 2
350
329
TURBO PASCAL
100
69
OTHER BORLAND
PRODUCTS
CALL CALL
TOOLS FOR TURBO PASCAL
ALICE
95
68
FIRSTIME
75
59
FLASH UP WINDOWS
75
68
HALO
300
209
TURBO HALO
129
99
SCREENPLAY
100
89
SCREEN SCULPTOR
125
94
T-DEBUG PLUS
60
50
TURBO EXTENDER
85
65
TURBO PASCAL ASYNC MGR
100
84
TURBO PROFESSIONAL
70
49
TURBO POWER TOOLS PLUS
100
83
TURBO WINDOWS
80
65
OTHER TURBO TOOLS
CALL CALL
NEW Products
ADVANTAGE GRAPHICS—Fast, powerful
and extensive graphics library offering a full set of
graphics primitives. No royalties, many languages!
List $295 Ours CALL
DATA WINDOWS—Greenleaf’s latest offering
includes integrated windows, transaction data
entry, pop-up, pull-down, Lotus-style menu
systems. And more! DataWindows is fast, writing
directly to video memory.
List $225 Ours $159
w/Source List $450 Ours $315
PASCAL 2—Highly optimized Pascal compiler,
with source level debugger, profiler.
List $350 Ours $329
TIMESLICER—Multitasking, linkable library
supporting concurrent tasks and real-time event
processing with header files provided for C+ +, C
and assembly. Library source available!
List $295 Ours $265
VENTURA PUBLISHER (XEROX)—Desktop
publishing software, lightning fast, loaded with
features. Create professionaHooking docu¬
mentation at minimal cost!
List $895 Ours $805
BASIC
BETTERBASIC
199
139
SUMMIT ADD ONS
CALL CALL
BETTER TOOLS
95
89
FINALLY
99
89
MICROSOFT QUICKBASIC
99
75
PROFESSIONAL BASIC
99
75
8087 MATH SUPPORT
50
45
PANEL-BASIC
145
115
TRUE BASIC
150
105
ADDONS
CALL CALL
OTHER PRODUCTS AVAILABLE TO THE
BASIC PROGRAMMER INCLUDE
MULTIHALO, BTRIEVE, GSS GRAPHICS,
SCREEN SCULPTOR, STRUBAS, 87 BASIC.
COBOL COMPILERS/UTILITIES
MICROSOFT COBOL
700
445
MICROSOFT COBOL TOOLS
350
205
MICROSOFT SORT
195
139
MICRO/SPF
175 CALL
OPT-TECHSORT
149
115
REALIA COBOL
995
785
SCREENPLAY
175
155
RM/COBOL
950
639
RM/COBOL 8X
1250
895
VISUAL COBOL (MBP)
1150
1015
FORTRAN COMPILERS/UTILITIES
LAHEY FORTRAN
477 CALL
MICROSOFT FORTRAN
350
209
RM/FORTRAN
595
389
ACS TIMES SERIES
495
419
87SFL
250
225
FOR-WINDS
90
78
FORLIB-PLUS
70
54
GRAFMATICS OR PLOTMATICS
135
119
GRAFMATICS AND PLOTMATICS
240
219
FORTRAN SCIENTIFIC
SUBROUTINES
295
249
POLYFORTRAN TOOLS I
179
143
STRINGS AND THINGS
70
54
ALSO AVAILABLE TO THE FORTRAN
PROGRAMMER: PANEL, MULTIHALO,
BTRIEVE, ESSENTIAL GRAPHICS, FLASH UP
WINDOWS, GSS GRAPHICS, OPT-TECH SORT.
PROLOG
ARITY PROLOG (STANDARD) 95 79
ADDIT. ARITY PRODUCTS CALL CALL
CHALCEDONY PROLOG 100 89
TURBO PROLOG 100 79
LISP, OTHER AI, CALL FOR
INFORMATION, PRICING,
AVAILABILITY.
Terms and Policies
• We honor MC, VISA, AMERICAN EXPRESS
No surcharge on credit card or C. O. D. Prepayment by check. New York State residents add applicable
sales tax. Shipping and handling $3.00 per item, sent UPS ground. Rush service available, prevailing rates.
• Programmer’s Paradise will match any current nationally advertised price for the products listed in this ad.
• Mention this ad when ordering—some items are specially priced.
• Prices and Policies subject to change without notice.
• Corporate and Dealer inquiries welcome.
800-445-7899
In NY: 1-800-642-6471
Programmer’s Paradise
487 E. Main Street, Mt. Kisco, NY 10549
914-332-4548
CIRCLE NO. 143 ON READER SERVICE CARD
Programmer’s
Turbo Screen/Application Generator
Be 3-6 times more Productive!!!
Guaranteed* For$69 95 (one month holiday special)
Turbo Master helps you develop your functional specs (Generates Screen, File, Isam, Variable and Menu Control Documentation) and
then allows you to "Quickly” prototype a validation model of your system. (Which can be incorporated as part of your functional
specifications.) Turbo Master can then generate a super-fast Turbo Pascal Program that features advanced screen input and control, a
professional control menu, the database functions of (1) Add/Edit/Delete Records (2) Search Database by any Key (3) Database
Recovery programs (4) Screen/Printer Report for each of the keys. Each Key can have up to 6 fields.
I ry the demo package included for 30 days
If not pleased return for a full refund
•RISK FREE TRIAL
Receive 6 Floppy Disks and a manual containing:
1. Screen Painter/Editor & Generator • Paint menu screens using Keyboard • Has variable dictionary to
provide consistant edits • Date entry masks • Date & range checks • Field and/or global help screens
• Box & line drawing • Error & message handler
2. Help Screen Maker • Different help screen for each field.
3. Menu Editor & Generator • Allows selection by 4 methods.
4. Database Program Generator • Produces "Easy to Read" code that can be easily modified by
experienced developers.
5. Resident Isam Module - compatible with Turbo Toolbox, but saves 8K of codespace and 10K of
dataspace.
6. Turbo Resident Screen Capture Utility which allows you to capture Text Screens from any running program
& Much, Much More N °
Credit Card & C.O.D. Orders Call: 1-800-821-9503
In Florida 1-800-342-0137
Turbo Master by
Hawaiian Village Software . . $69.95
Btrieve Interface by
Innovative Interfaces 99.95
Turbo Pascal by
Borland International $99 95
For Further Information Call:
(305) 892-5686
Add 7.50 shipping to all U S Cities All foreign
orders add 15 00 per product ordered
Btrieve is a trademark of SoftCraft Inc Turbo Pascal &
Turbo Database Toolbox are trademarks of Borland
International
GET 1 YEAR ON SITE SERVICE FREE
B.E.S.T. 286 AT 9 Compatible
640 KB RAM Bare Bone System: $999
*FREE*
□ DOS 3.1 ($85 Value)
□ 1 Year Nationwide on site
service (Parts & Labor)
only
(Qty. 2)
STANDARD FEATURES:
• Clock/calendar w/battery back-up
• FCC and U.L. APPROVED
• 6/8 MHz 80286 Microprocessor
• 80287 Math Co-processor Socket
• 8 Expansion Slots
• 640 KB RAM Expandable to
1024 KB on Mother Board
• 200 WATT U.L. Approved Power Supply
• AT case with Lock and LED indicators
• 5060 Compatible Keyboard
• MS DOS 3.1 (*85 value FREE)
• Full Documentation
• Complete technical support
• Fully compatible with IBM-AT
SYSTEM CONFIGURATION B:
• AT 640 KB RAM Bare Bone System
• 1.2 MB Teac Floppy Disk Drive
• 30 MB Hard Disk (39MS)
• Western Digital WA-2 Floppy & Hard Disk Controller
• 1 Year Nationwide (50 States) ON-SITE Service
(Includes Parts & Labor) A jt mm
• MS DOS 3.1 0n |ySl ? 995
GET OUT OF THE LOOP!
NO MORE RETURNS OR LONG WAITS FOR REPAIRS
WE WILL FIX YOUR COMPUTER ON SITE
FREE OF CHARGE FOR 1 YEAR
Business Engineering Scientific Technologies
1914 W. Farwell • Chicago, IL 60626
(312) 465-8886 or (312) 262-3480
Prices subject to change without notice
IBM AT is a trademark of International Business Machines Corporation
Evaluation Unit $1,095
We Welcome VAR and Dealer Inquiry
(quantity discounts available)
All major credit cards accepted
Turbo 286 - AT Compatible $1295
• 8 expansion slots
• 200 Watt Power Supply
MEDICAL & DENTAL
• Billing & Posting
• Faster Collection
• Improved Cash Flow
• Easy Insurance Procedure
• Appointment Scheduling
• Management Reports
LEGAL SOFTWARE
• 640 K RAM
• 6/8 MHZ Switchable
from keyboard
• 2 Floppy & Hard Disk
Controller
• 1.2 MB Floppy Disk
Drive
• Serial, Parallel Ports
• Color Graphics Card
• AT keyboard
• Real-Time, Multi-User uinpn QTrtnP
• Time & Billing MANAGEMENT
• Client/Matter Reports . Full Rental Tracking
• Aged A/R Report # Membership Control
• Matter Account Inquire # Employee Code System
• Transaction Entry & . H igh/Low Rental Report
• Overdue Tape Report
Editing
CONSTRUCTION
• Fully Integrated
Construction
Accounting System
• Job Costing
• Accounts Payable
• General Ledger
• Payroll
• Accounts Receivable
• And much much more
POINT OF SALE
• For all Retail &
Wholesale Businesses
• Cash Drawer & Bar
Code Scanner Interface
• Complete Audit Trail of
all P.O.S. Transactions
• Inventory Inquiry during
sale, and much more...
Professional Programming Products
for Microsoft C, pascal, FORTRAN, and Assembly Language
\ v ,i ///'
4 *
&
PC-WRITE™ text editor, and
SOURCE CODE
PROGRAMMERS AND SOFTWARE DEVELOPERS - LOOK AT THESE PRODUCTS!
NO ROYALTIES REQUIRED
ASMLIB
The Programmer’s Library
A Multipurpose set of over 200 Assembly Language sub
routines supplied in the form of a linkable library. \
Virtual disk file handling.
Int. driven asynch. support.
&
<ST
• Graphics on EGA, here, and CG/^
• Floating point math and trig^fouflnes with 8087 support.
• Installable keyboardprograms are easily writt
with ASMLIB’s spcdCffTfunctions.
• Plus much-Mjcn more.
• Supplied\vith complete source code.
Only $ 149 00 Complete
asmTREE
The Programmer’s B+Tree Data File
Management System ^ '•
• A complete single/ multiuser database manafjjfnent system
written entirely in Assembly Language the Lattice “C”
or Assembly Language programmer ftiese capabilities.
• Up to 256 users.
• Up to 256 index and data fi^ *
• Multiple key types. ^0
• Multiple indices ner maex file.
• Duplicate anrfy&nable length keys.
• Virtual fi^ handling
• Plus^Gfch, much more
• Supplied with complete source code.
Only $ 395°° Complete
NET-TOOLS - Network Programming Tools
NET-TOOLS allows you to write programs for ANY NETBIOS compatible local area network -
fast and easily.
★A multitude of subroutines allow your program to handle all network tasks directly.
★Redirect Local Devices simply and easily with a single function call.
★Send and Receive disk files with error detection, issue a single call to NET-TOOLS, and it will
automatically send a file of any length to a net-tools receiver.
★Send and Receive Messages with automatic retries and error detection. Both the datagram
and session protocols are available to your program.
★COMPLETE SOURCE CODE IS PROVIDED - written in assembly language.
only $149.00 complete
♦FREE Assembly Language SOURCE CODE !
Outside CA, call TOLL FREE 1-800-262-8010
USE YOUR VISA OR MASTERCHARGE - S H
All prices include UPS shipping within continental United
States. Outside U.S. please add $10 per package. Calif,
residents please add 6.5% sales tax.
B C ASSOCIATES
3261 No. Harbor Blvd., Suite B
Fullerton, CA 92635
1 -800-262-8010
in Calif. Call
(714) 526-5151
TOLL FREE
ORDER LINE
800 - 258-0028
FOR INFORMATION CALL
616 - 452-3457
3M Diskettes
574" DISKETTES
SSDDRH .$ .76 Each
DSDDRH . 97 Each
DSHD 96TPI . 2.17 Each
3V 2 " DISKETTES
SS MICRO. $1.32 Each
DS MICRO.. 1.76 Each
Sold 10/Box
PRINTER RIBBONS
Quality replacements for most popular printers.
Min./6.
Applelmagewriter .$3.95 ea.
Apple Scribe .$2.95 ea.
Epson LX 80/90.$2.95 ea.
Okidata 80/82/83 .$1.49 ea.
THE CLEAN IMAGE™
PRINTER HEAD
CLEANING KIT
Cleans your dot matrix print
head in less than one minute.
Compatible with Apple Image-
writer I & II and others. Good
for up to 10 cleanings.
$14.95 Each
FREE SHIPPING
Min. Order $25.00. Add 10% for less than 50 disks. S&H: Continental USA
$4.00/100 or fewer disks. $2.00 per dozen ribbons. Reduced shipping charge on
largerquantities. Foreign orders, APO/FPO, please call. Ml residentsadd 4% tax.
Prices subject to change without notice. Hours: 8:30 AM - 7:00 PM ET.
Precision Data Products™
P.O. Box 8367, Grand Rapids. MI 49518 .
Customer Service & Information: (616) 452-3457 —
Toll Free Order Lines: Ml 1-800-632-2468
Outside Ml 1-800-258-0028
EVSAN COMPANY
P.O.BOX 2143 DALY CITY, CA 94017
(415) 991-1051
DYNAMIC RAMS
1 MEG 100ns
41256 100ns
41256 150ns
41256 120ns
4164 120ns
4164 150ns
4464 120ns
4464 150ns
4116 150ns
SPEED UP YOUR IBM PC 20-30%
REPLACE 8088/8086 with:
V-20
V-20
V-30
27512
27256
27C256
27C256
27128
27128
2764
2764
27C64
2732A
2732A
2564
2532
2716-1
2716
2708
8031 AH
8035
8mhz
5mhz
8mhz
EPROMS
250ns
250ns
200ns
250ns
150ns
250ns
200ns
250ns
200ns
200ns
250ns
450ns
450ns
350ns
450ns
450ns
8 0 0 O’ s
5.25
1.95
8243
8250A
65.00
4.75
2.75
3.10
1.20
1.00
4.25
3.95
.98
9.95
8.95
11.00
18.75
5.50
7.10
6.75
5.75
3.60
3.75
3.20
4.90
3.90
3.50
7.50
4.10
3.70
2.95
2.50
2.00
3.95
80C35
3.75
8251A
1.65
TEAC 5V FD55B
8039
2.50
8253-5
1.75
FUJ
TSU 5V M2551
80C39
4.00
8254
3.50
8085A
1.75
8255A-5
1.80
DIC
TAL REAL TIME CLOCK
80C85
3.75
8272
3.50
8086
5.00
8274
4.75
5832
8155
1.60
8284
2.95
6242
8156
2.25
8288
5.25
8212
1.60
8748H
6.25
Z80
FAM1LY
8216
1.50
8749H
8.25
Z80A CPU 4mhz
8226
1.75
Z80A CTC 4mhz
8237A-5
4.75
Z80A PI0 4mhz
Z80A DART 4mhz
INTERFACE
STATIC RAMS
1488
.32
1489
.32
5564PL 150ns
L PRIME PARTS
5565PL 150ns
100% GUARANTEED
TERMS & CONDITIONS :
1) Visa & Mastercards Accepted with
3% surcharge.
2) Prices subject to change. PLease call
for current 4 volume pricing.
3) Shipping 4 Handling (1 lb)
UPS Surface $3.00
UPS 2nd Day $4.50
California Residents add 6.5% sales
tax.
MATH
CO-PROCESSORS
C8087- 2
8mhz
142.00
C80287-6
6mhz
168.00
C80287-8
8mhz
275.00
STAT
1C RAMS
43256L
120ns
25.50
6264L
100ns
3.95
6264L
120ns
3.60
6264L
150ns
2.85
6264P
150ns
2.65
6116P
150ns
1.45
201 6B
100ns
1.75
4016
150ns
1.60
4016
200ns
1.30
2114A
120ns
1.50
6147
35ns
3.25
COLOR GRAPHIC CONTROLLER :
D7220AD
MOTHERBOARDS
XT Motherboard
XT TURBO BOARD
AT Motherboard
IBM COMPATIBLE
INTERFACE CARDS
Floppy Disk Drive Adaptor $ 45.00
Color Graphic Adaptor 80.00
Monographic Card 99.00
Multifunction Cards 95.00
18.50
149.00
210.00
999.00
FLOPPY DISK DRIVES
94.00
82.00
2.80
4.90
1.20
1.20
1.20
2.75
5.25
3.25
PROMPT DELIVERY
OFFICE HOURS :
Monday thru Friday 7:30AM - 5:30PM
Saturday 7:30AM -12:00Noon
Data Sheets : $0.25 each
Quarterly Flyers available , please call
We reserve the right to substitute
manufacturer. All merchandise subject
to prior sale.
CANADAS SOURCE
FORC
Compilers • Utilities & Aids • Editors
Interpreters • De-Bugging Tools
File Access Systems • Graphics
5VZTIEO
1 ^
<^>
Lattice
LIFEBOAT
Complete Line of Programming Development Tools
Full Service and Support - Fast Delivery
CORPORATE DISCOUNTS
VISA
(416) 449-9252/5
SCAN1EL SYSTEMS LTD.
801 YORK MILLS RD., 201, DON MILLS, ONT M3B 1X7
MEGAMEMORY AND
DESKTOP PUBLISHING
Lowest Prices In USA
Fully Populated 2MB Boards
Made by Tall Tree Systems
HIGHEST QUALITY RAM CHIPS
JRAM-2.$319
JRAM-3 LOTUS-INTEL.$389
JRAM-AT.$389
JRAM-AT3 LOTUS-INTEL.$429
JLaser-Plus PC.$599
SUPER SPECIAL
OMS KISS Laser Printer
W/TWO MEGABYTE JRAM-3
and JLASER-PLUS.... $2499
600x300 Dots Per Inch!
THE RAM EXPLOSION
5119A Leesburg Pike, Suite 260
Falls Church, VA 22041
(703) 569-4471
Dealer Inquiries Invited
VISA/MASTERCARD AMEX
An Authorized TALL TREE DEALER
202
PC TECH JOURNAL
MICROWAY MEANS 8087 PERFORMANCE
FastCACHE-286™
Runs the 80286 at 8.5 or 11 MHz and the
80287 at 5, 6 or 11 MHz. Includes 8
kbytes of 55ns CACHE Works with more
PCs than any other accelerator, including
Leading Edge Model D, Compaq, and
Turbo motherboards Includes 8088
Reboot Switch, DCache and Diagno¬
stics . . From $449
LOTUS/INTEL EMS
SPECIFICATION BOARDS
MegaPage™ The only EMS board which
comes populated with two megabytes of
cool-running low power drain CMOS
RAM installed. Includes RAM disk, print
spooler, disk cache and EMS drivers For
the IBM PC, XT and compatibles...$549
MegaPage with 0K.. $149
Mega Page AT/ECC™ EMS card for the
PC AT and compatibles includes Error
Correction Circuitry. With ECC, 11 RAM
chips cover 256K so the user never en¬
counters RAM errors Sold populated with
1 megabyte CMOS... $699 or with 3
megabytes CMOS cool running low
power drain RAM ... $1295. Optional
serial/parallel daughterboard. $95
NUMBER
SMASH ER/ECIVT
Triples the speed of your
PC, XT or compatible! jd
From
$599
Accelerator
Plus
A Megabyte
for DOS
PC Magazine “Editor’s Choice”
DATA ACQUISITION and
REAL TIME TOOLS
DAL™ - “Data Acquisition Language”
Unkelscope™ - A real time data acquisi¬
tion, control and process software pkg.
87 FFT and 87 FFT-2
TransView Menu driven FFT Spectrum/
transfer analyzer.. $250
RTOS- REAL TIME OPERATING SYSTEM
A multi-user, multi-tasking real time oper¬
ating system. Includes a configured ver¬
sion of Intel’s iRMX-86, LINK-86, LOC-86,
LIB-86, OH-86 and the MicroWay
87DEBUG. Runs on the IBM-PC, XT, PC-
ATand COMPAQ.$600
INTEL COMPILERS Available for RTOS
FORTRAN-86, PASCAL-86, PL/M-86.
A2 0-160™
The Fastest 12 bit
A/D Converter
$1295 ^d
287Turbcf-10/12
160,000 Samples per second
Pseudo Random Noise Generator/DAC
Optional signal conditioners
AFM-50 Programmable Low Pass
Filter Module... $225
287Turbo runs the 80287
at 10 or 12 MHz in the IBM
PC AT, compatibles and the
new Compaq386with 100%
software compatibility.
10 MHz .$450
12 MHz..$550
PC Magazine “Editor’s Choice”
8087 SOFTWARE
IBM BASIC COMPILER.. $465
MICROSOFT QUICK BASIC.$79
87BASIC COMPILER PATCH.... $150
IBM MACRO ASSEMBLER.$155
MS MACRO ASSEMBLER...$99
87 MACRO/DEBUG..$200
MICROSOFT FORTRAN.$209
RM FORTRAN. $399
LAHEY FORTRAN F77L.$477
MS or LATTICE C.. CALL
STSC APL* PLUS/PC.$450
STSC STATGRAPHICS.$675
SPSS/PC+.$675
87SFL Scientific Functions.$250
PHOENIX PRODUCTS. CALL
FASTBREAK for 1 -2-3 V.1 A..$79
HOTLINK for 1 -2-3 V.1 A.$99
8087 UPGRADES
All MicroWay 8087s include a one year
warranty, complete MicroWay Test Pro¬
gram and installation instructions
8087 5 MHz..$114
For the IBM PC, XT and compatibles
8087-2 8 MHz.$149
For Wang, AT&T, DeskPra NEC, Leading Edge
80287-3 5 MHz.$179
For the IBM PC AT and 286 compatibles
80287-6 6 MHz,..$229
For 8 MHz AT compatibles
80287-8 8 MHz...$259
For the 8 MHz 80286 accelerator cards
80287-1010 MHz $395
For the Compaq 386
Call for prices on V20, V30,
64K, 128K and 256K RAM
287TURBO- PLUS™
Speeds up your AT
Adjustable 80286 Clock 6-12 MHz
10 MHz 80287 Clock
Plus Full Hardware Reset... $149
Ontirtnol QnOQR.1 H
With 80287 10 MHz.
With 80287 12 MHz.
CALL (617) 746-7341 FOR OUR COMPLETE CATALOG
Micro
l/\lay
P.O. Box 79
Kingston, Mass.
02364 USA
(617) 746-7341
The World Leader
in 8087 Support!
MicroWay Europe
32 High Street
Kingston-Upon-Thames
Surrey England KT1 1 HL
Telephone: 01-541-5466
TECH MARKETPLACE
JHE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
PRODUCT CATEGORIES
SOFTWARE
HARDWARE
ACCESSORIES/SUPPLIES.207
ARTIFICIAL INTELLIGENCE.207
BUSINESS.207
COMMUNICATIONS.207
DATA BASE MANAGEMENT.
EDUCATIONAL.
ENGINEERING.207, 208
EXPERT SYSTEMS.208
GENERAL.208
GRAPHICS.208
LANGUAGES.208
MULTI/USER SYSTEMS.
NETWORKING.
OPERATING SYSTEMS.208
PROGRAMMERS TOOLS.209, 210
PUBLIC DOMAIN.210
SCIENTIFIC.211
SECURITY DEVICES.211
SOFTWARE UTILITIES . . . 211, 212, 213
STATISTICS.211
TERMINAL EMULATION.211
WORD PROCESSING.
ACCESSORY CARDS.205
COOLING DEVICES.
COMMUNICATIONS.
COMPATIBLES ..
GENERAL.206
MASS STORAGE.
PERIPHERALS.206, 207
SECURITY DEVICES.
USED EQUIPMENT.
MISCELLANEOUS
BAR CODING.213
PUBLICATIONS.213
Advertising Rates and Information:
PC Tech Journal Marketplace
PC Tech Journal Marketplace is a special
economical section for product and service
listings.
Listings are grouped by category and sold by
column inches. Second color option
available.
Standard Directory Listings are also available
for a minimum of 3 issues at $170 per issue
($510 total).
For additional information
call 212-503-5115.
Advertising Rates and Information: PC Tech Journal Marketplace
PC Tech Journal Marketplace is a special economical section for product and service listings.
Listings are grouped by category and sold by column inches. Second color option available.
Standard Directory Listings are also available for a minimum of 3 issues at $ 170 per issue ($510
total).
For additional information call 212-503-5115.
PC Tech Journal Classified Advertising Staff
One Park Avenue, New York, NY 10016
(212) 503-5115
Account Managers
Territory #1—Anthony L. Perkins (212) 503-5116
Advertising Director
Kathryn J. Cumberlander
Sales Manager
Daniel L. Rosensweig
Sr. Advertising Coordinator
Monica Dixon
Advertising Coordinator
Angela Kiffin
Sales Assistant
Linda Annis
Production Manager
Anne Brockinton
(212) 503-5441
Production Coordinator
Elliot Appel
(212) 503-5470
AL, AR. IA, IL, IN. KS, KY, AZ, CO. OR, NM, LA,
MI, MN, MO, MS, NB, ND, OH. OK, SD, TN, TX, NV,
AK, GA, UT, CA (ZIP 92999 & DOWN), CANADA
(OTHER THAN BRITISH COL.) AND ALL OVERSEAS
CALLS.
Territory #2—Lisa B. Stick (212) 503-5172
CT, MA, ME, NH, NJ, NY, RI, ID, MT, MD, VT, DC,
DE, HI. NC, SC, FL, VA, WV, WI, PA, WA, WY. CA
(ZIP 93000 & UP) BRITISH COL.
HARDWARE/ACCESSORY CARDS
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
WFIElP @lEV@liSlB
IN 80386 TECHNOLOGY
SWITCH YOUR SLOW IBM
"AT/XT286" INTO A FAST 386!!
WITH THE KU386-ET16
FEATURES:
75 TO 250 7. FASTER THAN "COMPAQ"
80386 SYSTEM SPEEDS OF 12 TO
24 MHZ AND AT/XT286 BUS SPEED
OF 6 TO 12 MHZ
SELECTABLE 80287/80387 MATH CHIP
SPEEDS AT 8/10/12/14/16 MHZ
HIGH SPEED MEMORY EXPANDABLE
TO 16 MEG ON BOARD
BGI 386 BUS INTERFACE
EXPANSION CONNECTOR ON REAR
OF THE BOARD WILL PROVIDE
COMPATIBILITY UITH "IBM
386/RISC COMPUTER SYSTEMS
KW CPU BOARD WILL TAKE ONE
16 BIT EXPANSION SLOT
BUILT IN 386 BIOS WILL INTERFACE
WITH "IBM BIOS" TO PROVIDE 100 V.
SOFTWARE & HARDWARE COMPATIBILITY
BG I COMPUTER DIV. <215)538-3900
CIRCLE 375 ON READER SERVICE CARD
HARDWARE/ACCESSORY CARDS—PERIPHERALS
■■■■■■■
Mm
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
^■mmm
Hardware
Accessory Cards
Z80 and HD64180 CO-processors
For PC, PC/AT. Clock speeds to 9mhz. Prices start
at $199.50. Run CP/M-80 software fast. De¬
velop code for Z80/HD64180 with software ICE.
Run Intel ISIS tools. Interface to real world with
iSBX bus devices. High speed communications,
including Apple Talk compatible.
Decmation
2065 Martin Ave. #110
Santa Clara, CA 95050
(408)980-1678
FIXED DISK BIOS/BOOT
FiXT boots from most popular Hard Disks—DA-
VONG, TECMAR, IOMEGA, GT LAKES, etc. Adds
XT-like BIOS interface to your disk for PC. Se¬
curity, multiple volumes, removable media sup¬
port optional. No-slot plug-in installation. Specify
controller and computer with order. S80-S95. Add
$3 shpg., CA tax.
GOLDEN BOW SYSTEMS
2870 Fifth Avenue
Suite 201
San Diego, CA 92103
(619)298-9349
IBM-AT SPEEDUP
The High-Performance
Speedlnjector from Ariel
As the industry's recognized leader in high-performance speedup
products, Ariel has performed extensive research and developed
unmatched experience in this field. Our products offer the complete
solution.
• XCELX 286/287 XPRESS— A Speedlnjector for ALL IBM-ATs. Uses relia¬
ble frequency synthesis for full compatibility and high performance
• 100% variable from 5-13 MHz CPU speed, while running • Mode
switch defaults to standard 6 MHz or fast mode • Hardware reset
switch • Speedup the 80287 independently. Choose from: Stand¬
ard— V3 CPU speed, 8, 10, 12, 14, or 16 MHz actual co-processor
speed • Rear mounted • One-year warranty.$ 99.95
• XCELX 286/287 XPRESS + The Speed Utilities— The Speedlnjector
with software that will display exact XCELX frequencies • speedup
hard disk by 50% • speedup keyboard reaction time • correct
floppy disk access.$139,95
• FAST 80286-10— For CPU speeds of 10+ MHz.$299.95
• FAST 80287—8, 10,12,14,16 MHz.Call
• FAST RAM— 100 & 120 NS, 128K 8c 256K.Call
• Mil-Spec Crystals —The famous Ariel Crystals. For early ROM ATs.
Available: 16-17-18-19-20-22-24 MHz.$ 19.95
increase
overall speed
up to 300%
A . . ORDER HOTLINE:
yipj^I 204-788-9002
RO. Box 866—Flemington, NJ 08822
CIRCLE 376 ON READER SERVICE CARD
Tech Marketplace, the home of the
power buyer.
DIGITAL SIGNAL PROCESSOR
The Model 10 coprocessor board is based on the
16/32 bit Tl TMS 32010 and is designed for ap¬
plications in communications, speech, instru¬
mentation, and numeric processing. A IK
complex FFT takes 90ms. Offered with onboard
12 bit 40 Khz A/D and D/A. Includes all utility
and applications software. S650-S850.
DalancoSpry
Suite 241 2900 Connecticut Ave. NW
Washington, DC 20008
(202)232-7999
“PC-Sprint is the most cost
effective PC Speedup product
on the market. ”
—Computer Shopper Magazine
• Run your PC, XT or clone
at 7.38 mhz.
• 280°/o Speedup (Norton
SI rating)
• Speeds up all software—
you can see the difference
• External speed switch
• External reset button
• Change speed “on the fly”
• Compatible with 8087
• Works with all color or
mono displays
• “Slotless” plug-in on most
PCs
• Includes: Selectable top
speed, instructions, war¬
ranty , tool, remote mount
switch, free BBS
subscription
5 89
95 V20 add $10. Call for infor¬
mation on other products
PC ANALYZER
Real-Time debugging package for your PC or XT.
Complete with board and debugging software.
Also allows you to use your own software de¬
bugger. Nonintrusive operation, simple to in¬
stall. Operates with DOS & QNX. Price $995. Free
shipping.
Sofpak Technologies, Inc.
215 Stafford Road, Unit 101
Ottawa, Canada K2H 9C1
(613)726-1908
IMAGE ACE11=
Video Capture System
• Digitize video from cameras,
tuners, and VCRs directly to
your IBM PC display
• 320 x 200 x 4 levels
• 1.3 sec. full screen capture
• Complete with hardware card,
software, cable, and manual
l odGE F lECTRQIVlicS
P.O. Box 338 • Streamwood, IL 60103
= (312) 837-6553=
CIRCLE 378 ON READER SERVICE CARD
Exec-PC, Inc.
P.O. Box 11268 Shorewood, Wl 5321
(414) 242-2173 [■ ■|g*g]
CIRCLE 377 ON READER SERVICE CARD
CREATE A DISKLLS PC!
PC-R0MDRIVE allows users to create a “Disk¬
less PC" capable of booting a ROM-resident copy
of MS-DOS and/or user application programs.
PC-R0MDRIVE consists of a PC-compatible
R0M/PR0M expansion board and the PC-
R0MDRIVE software. PC-R0MDRIVE is priced
at $195 for single units. Quantity discounts and
OEM arrangements available. MC/VISA
ALDIA SYSTEMS, Inc.
P.O. Box 37634
Phoenix, Az. 85069
(602)866-1786
General
VIDEO LAN ‘LINK SYSTEM’®
FOR IBM, PC, PC/XT, PC/AT labs. Instructor has
complete control of all trainee computer moni¬
tors. Instructor can 1) transmit image, 2) receive
trainee image or 3) transmit any trainee image
to any/all trainees. Color or mono. Software-in¬
dependent. Increases instructor efficiency and
trainee comprehension.
APPLIED COMPUTER SYSTEMS, INC.
3060 Johnstown-Utica Road
Johnstown, OH 43031
1-800-237-LINK
Peripherals
SPEECH SYNTHESIS
SynPhonix: TRUE Unlimited Speech Synthesiz¬
er for IBM-PC/XT/AT/jr & compatibles. This low
power short card includes an SSi263 speech
chip, amplifier and speaker. Software includes
Text-to-Speech, Phonetic Editor, Talking Clock
& demos. Can be programmed with BASIC and
other languages. Prices start below $200.
S ynPhonix
Electronic Speech Articulator
Artie Technologies
1311 N. Main St.
Clawson, Ml 48017
(313)435-4222
wmmmssmm
HARDWARE/PERIPHERALS—SOFTWARE/ENGINEERING
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
Software
Accessories/Supplies
Peripherals
DATA INPUT DEVICES
TPS provides Bar Code & Magnetic Stripe
Readers for simple installation IBM PC, AT, 3161,
3163, 3164, 3191, 3194 terminals, as well as
many other microcomputers and terminals. No
card slot or RS-232 port is required, and the
readers are transparent to all software. A bar code
print program (code 39) is available for the PC
& AT at only $50 with the purchase of a reader.
A magnetic encoder is also available for the
PC & AT.
TPS Electronics
4047 Transport Street
Palo Alto, CA 94303
(415)856-6833
PC-PROMPAK
ROM Expansion for PC!
Aldia systems introduces PC-PROMPAK, a “half¬
sized” PROM/ROM expansion board for IBM and
IBM compatible PCs. PC-PROMPAK will sup¬
port up to six 28-pin JEDEC compatible devices
(ex: 2764,27128,27256,27512,6264, etc.) with
individually selectable address ranges. Prices
start at $125 for single units. Quantity discounts
and OEM arrangements available. MC/VISA.
ALDIA SYSTEMS, Inc.
PO. Box 37634
Phoenix, AZ 85069
(602)866-1786
CP/M & 1.2Mb AT ON PC
With MULTI-DISK card & UniForm-PC use 3.5,
5.25 & 8-inch single & double density CP/M
format as DOS diskettes on your IBM PC or XT.
Many MS-DOS formats supported including IBM
AT 1.2 Mb. HP-150 & Data General 1. Over 200
formats. Both MULTI-DISK & Uniform-PC for
$225. Disk drives & adapter cable available.
PS Engineering
PO. Box 51068
San Jose, CA 95151-5068
1-800-369-2398; 1-800-423-7171 in CA.
EPROM/EEPROM PROGRAMMER
Programs 2716-27512, 25xx, 68764/66 eproms
via RS-232. Also 874x, micros, 28xxA & 52Bxx
eeproms. Automatic Baud rate select, built in
menus, no personality modules. Price: $250.
Mention this ad for free terminal software. 16 BIT
I/O MODULE $75
For control of input or output lines via RS-232.
Use with modems for remote control.
INTELLITRONICS
PO. Box 3263; Tustin, CA 92680
(714)669-0614
••SOFTWARE PUBLISHING ••
GDS offers a wide variety of services that will help
get your software to the market. Address your
needs with GDS.
• IBM style cloth/vinyl 3-ring binders/slips
• Labels, sleeves, disk pages...
• Disk duplication with 100% verification
• Bulk diskettes
• Shrink wrapping and assembly
• Quick turnaround
A well-packaged product can make the differ¬
ence in making a sale. Call us NOW. VISA/MC
Glenco Development Systems
3920 North Ridge Avenue
Arlington Heights, IL 60004
(312)392-2492
Artificial
Intelligence
TURBO EXPERT
Full Scale IBM-PC Expert Systems/Ready To
Consult. $34.95. Runs on all compatibles.
m. THE STOCK MARKET EXPERT
#2. THE EXECUTIVE HEALTH EXPERT
#3. THE PSYCHIATRY EXPERT
#4. THE TURBO EXPERT TOOLKIT III
Please specify # when ordering.
Thinking Software, Inc.
46-16 65 Place
Woodside, N.Y. 11377
(718)429-4922
Business
TRANSPORTATION RESEARCH
TSA88 Transportation Simplex Algorithm
(up to 510 sources, sinks or trans¬
shipment points)
TNET88 Transportation Network System
(networks up to 510 nodes & 16K
links)
TPR088 Transportation Problem Solver
(shortest path, tours up to 50 stops)
Req. 192K, color graphics adaptor. $99 each w/
8087 support, User’s guide. Write or call for our
brochure.
EASTERN SOFTWARE PRODUCTS INC.
PO. Box 15328, Alexandria, VA 22309
(703)549-5469
Tech Marketplace. . .
the comprehensive
guide to products and
services for the MS
DOS market.
Communications
PC SERIAL DATA ANALYZER
Use your IBM PC or compatible to analyze data
streams between two serial devices (up to 9600
BAUD). Two windows display each devices
transmission in ASCII or HEX. PC can also act
as a terminal for either device. Invaluable tool for
debugging serial interfaces. Disk & manual $150.
Triple C Software
2897 SW 13th St.
Fort Lauderdale, FL 33312
(305)583-0687
Engineering
SIMULATION
GPSS/PC is a full-power version of GPSS, the
most popular mainframe simulation language.
Specifically designed for interactive use on to¬
day’s high-speed microprocessors it is loaded
with features such as interactive graphics and
animation. Using GPSS/PC, you can predict the
behavior of complicated real world systems.
MINUTEMAN SOFTWARE
PO. BoxT 171/B. Stow, MA 01775
1-(800) 223-1430
1-(617) 897-5662 (MA)
METAL FABRICATORS
PC/Cultist takes input from your bill of mate¬
rial—Detail drawing and calculates the best
cutting combination for any length stock and
prints a shop ready cutting list and scrap report.
Also an optimization feature finds best multi
length for mill orders. Price $300. Demo Disk
$25.00
THE JOSEPH ALBERT CO.
PO. Box 611
Blue Island, Illinois 60406
(312)349-9032
ENGINEERING SCREEN PLOT
Screen plot engineering graphs. Single & mul¬
tiple graphs, regular & cross plot capability. Fi¬
nal report format. Input data from key-board or
disk. Run your application programs, dump data
to disk then plot. Easy to use, quick. Ask for 8087
support if desired. Not copy protected. IBM-PC.
$39.95.
Lonney S. Pauls, Engineering Software
22032 S. Springwater Rd.
Estacada, OR 97023
(503)630-2594
FINITE ELEMENT ANALYSIS
Full-featured SAPIV finite element program for
3D static structural analysis. Includes all origi¬
nal elements-trusses, beams, plates, 2D plane,
axisymmetric, 3D solids. Solves large prob-
lems-up to 700 nodes. IBM/PC or compatible.
Complete program for only $295! Try the 70 node
3D truss/beam version—$39.
APPLIED SCIENCE & DEVELOPMENT, INC.
Suite 141,169 Southeast Cary Parkway
Cary, NC 27511
(919)467-4614
DISK
COPIER
Fast (one minute)
Simple (one button)
Reliable (one board)
$995 (one price)
275 Santa Ana Ct., Sunnyvale, CA 94086
(408) 737-8441
CIRCLE 379 ON READER SERVICE CARD
mmm
SOFTWARE/ENGINEERING—OPERATING SYSTEMS
TECH MARKETPLACE
H^COMPREHENSIVEGUIDETCmODUCT^N^ERVICE^O^HEMSDOSMARm^^^
Engineering
CAN WE TALK?
You bet we can! BlueStreak Plus emulates 13
terminals including VT100, multiple Comports,
Baud rate to 19.2, Modem commands via AT
command set, Resident mode. What’s more, you
can customize BlueStreak Plus using languages
like C, Turbo Pascal or Dbase. Create turnkey
applications. Why pay more?
BlueStreak Plus, $89.95 Lang-Allan, Inc.
711 Clay St.
Winter Park, FI. 32789
(305)629-5788
ENGINEER’S AIDE
• Pipeline/Ductwork Sizing
• Pump/Fan/Compressor Sizing
• Heat Exchanger Sizing
• Orifice/Control Valve Sizing
• Project Financial Analysis
• Conversion Calculator
• Specification Writer
Pull down menus, Pop-up help windows, Single
Screen entry & results-ALL above for $395 (into
price, $back guarantee). Mac Interface for IBM
& MAC.
ENGINEERING PROGRAMMING CONCEPTS
P.0. Box 925
Camarillo, CA 93011
(805)484-5381
Expert Systems
CxPERT for Expert Systems
C programmers interested in using expert sys¬
tems technology will love CxPERT. Al features
such as explanations, why, frames, av pairs, le¬
gal values and more are completely compatible
with C. Create executable systems with no roy¬
alties. $165 + $5 s&h. MD add 5%. CK/MO/
Visa/MC. Req. C compiler & DOS 2.0+.
Software Plus
1652 Albermarle Dr.
Crofton, MD21114
(301)261-0264
General
PUBLIC DOMAIN SOFTWARE IN C
Over 115 volumes of public domain software in
CP/M & MS-DOS formats.
• editors & compilers
• text formatters
• communications packages
• many UNIX-like tools
Write or call for more details.
Users'
Group
THE C USERS’GROUP
P.0. Box 97
McPherson, KS 67460
(316)241-1065
TAPE/DISK CONVERSIONS
Conversion services to or from over 500 com¬
puter systems:
• Magtapes
• Micro Computers
• Mini Computers
• Word Processors
• Typesetters
Our conversion capabilities surpass most in the
industry.
Pivar Computing Services, Inc.
165 Arlington Hgts. Rd.#T
Buffalo Grove, IL 60089
(312)459-6010
DOCUMENTATION-BY MAIL™
Technical writing service specializing in long¬
distance production of economical and timely
manuals for small, medium-sized and large de¬
velopers. Tutorials, user’s guides, reference
manuals. Fixed price contract, professional
quality, quick turnaround. Call for credentials,
sample and free estimate.
BNP Enterprises, Inc.
20370 SW 84 Ave.
Miami, FL 33189
(305)253-2317
GREAT SOFTWARE, CHEAP
Only $5.95 per disk for absolutely smashing
Shareware and Public Domain programs. Mon-
eyback guarantee. PC-Outline, DOSamatic, PC-
Write, File Express, Chess, Poster/Banner, Util¬
ities Galore plus Databases, Arcade and Adven¬
ture Games, and lots more! IBM PC, PCjr., &
compatibles. Send for Free Catalog.
PLUS
33495 Del Obispo, Suite 160Q
Dana Point, CA 92629
Graphics
MetaWINDOW'VTurboWINDOW’"
Advanced graphics toolkit provides Xerox Star/
Apple Macintosh style graphics on your IBM PC.
Supports most popular graphics cards. Allows
you to create pop-up menus, windows & icons;
use proportionally spaced fonts; rubberband &
rag lines, text or bitmap images; supports mouse-
cursor tracking. Tightly optimized for use with
Turbo Pascal, IBM Pascal, C, Fortran.
METAGRAPHICS SOFTWARE CORP.
4575 Scotts Valley Drive
Scotts Valley, CA 95066
(408)438-1550
FORTRAN GRAPHICS LIBRARY
GRAFMATIC (screen graphics): 75 MS
FORTRAN/Pascal, R-M/Profort, Lahey FORTRAN
callable subroutines. Fully documented, prof,
graphics capabilities, inc. general utility, 2-D in¬
teractive, total 2-D plots, 3-D plots and solid
models. $135. H-P or H-l plotter? get
PLOTMATIC, complete plotter graphics library.
Interfaces w/GRAFMATIC. $135. Both $240.
MICROCOMPATIBLES, INC.
301 Prelude Drive Dept. J
Silver Spring, MD 20901
(301)593-0683
FORTRAN TOOLS & GRAPHICS
PC-PLT: CALCOMP and VERSAPLOT Compati¬
ble Graphics Package for the Fortran
Programmer. Supports CGA, EGA,
Tecmar and Printer Graphics. $325
PC-TOOLS: 125 Subroutines and Functions
Giving Fortran Programmers
Complete access to the PC. $125
ONTAR Corporation
129 University Road
Brookline, MA 02146-4532
617-739-6607
35mm SLIDE FROM YOUR PC
COMPUTER SLIDE EXPRESS converts graphic
files produced on the IBM PC into brilliant 35mm
color slides with color resolution 400% better
than your monitor. Leave your printouts behind.
Use high resolution color slides up to 4000 line.
COMPUTER SLIDE EXPRESS $9/slide.
VISUAL HORIZONS
180 Metro Park
Rochester, NY 14623
(716)424-5300
SCIENTIFIC DATA PLOTTING
SCI-GRAF creates graphs up to 1680 X1712 dots
(over 3 million pixels!) on Epson or IBM graph¬
ics, printers. Supports log scaling, overlays,
point-labeling, legend creation, batch mode,
wide-carriage printers, and color graphs on a JX-
80. Requires DOS 2 or 3,256k. No credit cards.
$99.95
Microcomputer Consultants (MSC)
32 WAnapamu Suite 190
Santa Barbara, CA 93101
(805)963-3412
Languages
FINALLY! MODULES
Add class to your compiled BASIC programs with
FINALLY ! MODULES. Use pull-down WIN¬
DOWS, horizontal menus, pop-up help screens,
input screen and directory managers. For use
with FINALLY! Library and Quick Basic 2.0 or IBM
compiler 2.0.30 day MoneyBack guar. Visa/MC/
CK/MO. FINALLY! MODULES is $99.00 +$4.00
s/h.
Komputerwork Inc. Dept PCT
851 Parkview Blvd.
Pittsburgh, PA 15215
(412)782-0384
Operating Systems
Real-Time Multitasking Executive
■ No royalties
■ Source code included
■ Fault free operation
■ Ideal for process control
■ Timing control provided
■ Low interrupt overhead
■ Inter-task messages
Options:
■ Resource Manager
■ Buffer Manager
■ Integer Math Library
■ Language Interfaces;
C Pascal
PL/M Fortran
■ DOS File Access ;
CP/M-80
IBM PC DOS
AMX is TV of KADAK Products Ltd
CP/M-80 is TM of Digital Research Corp
IBM. PC DOS are TM of IBM Corp
AMX for 8080 $ 800 US
8086 950
6809 950
68000 1600
Manual (specify processor) 75
Jk KADAK Products Ltd.
206-
(604) 734-2796
Telex: 04-55670
1847 W. Broadway, Vancouver, B.C., Canada V6J1Y5
CIRCLE 380 ON READER SERVICE CARD
SOFTWARE/PROGRAMMERS TOOLS
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
Programmers Tools
“NEW” BIT-LOCK® SECURITY
Piracy SURVIVAL “>4” YEARS proves effective¬
ness of powerful multilayered security. Uses rapid
decryption algorithms and small reliable port for
transparent security device. NOW AVAILABLE for
PARALLEL or SERIAL port. NEW KEY-LOK™ se¬
curity device available at HALF-PRICE.
MICROCOMPUTER APPLICATIONS
7805 S. Windermere Circle
Littleton, CO 80120
(303) 798-7683 or 922-6410
GENSCREENFORMS-COBOL
Cobol Source Code Generator for generating the
screen section and data division cobol source
code for Microsoft and IBM PC cobol. Screen
Image Text files are run through GENSCREEN to
produce all of the source code for your screen in
less than a minute. Super fast programmer pro¬
ductivity tool $69.99.
Personal Computer Development Corporation
P.0. Box 8556
Warwick, R.l. 02888-8556
(401)333-8704
VERSION CONTROL SYSTEM
TUB™ stores ALL versions of your source in ONE
compact library file, even with hundreds of re¬
visions. Updates (deltas), 5-7 times faster than
Unix SCCS. Date & comments for each version,
easy retrieval. LAN-shared libraries. Free public
domain MAKE (with source) by Landon Dyer.
DOS 2.X/3.X $99.95 $3 s/h VISA/MC.
Burton Systems Software
P.0. Box 4156
Cary, NC 27511-4156
(919)469-3068
MODULA-2 TOOLS: $19
REPERTOIRE—the proven toolkit for Logitech,
ITC & others: 250p manual (on disk); screen de¬
sign/display system; DBMS with variable-length
records; multi-window editor; natural-language
analyzer; over 200 low level routines. Printed
manual: $15. Source code. (440K): $89. Call for
free demo/doc. disk.
PMI
4536 SE 50th
Portland, OR 97206 (503) 777-8844
BIX: pmi; CompuServe: 74706,262
IBM® PC MANAGEMENT TOOLS™
• Forecasting • Inventory Control • Quality
Control • Project Mgt. • Statistics. • Plant Lay¬
out • Financial Mgt. • Production Planning. 40+
New programs (not pub. dom.) w/544pg. user
manual. FREE BASIC SOURCE CODE Not Copy
Protected! Visa, MC, Amex, Cks & Ppd PO’s.
$99.95 + $7.50 s&h +5% GA tax. Volume Dis¬
counts! Call or Write.
MANAGEMENT INFORMATION SYSTEMS, INC.
Dept.AAP.O. Box 98209
Atlanta, GA 30359, (404)231-1297
TURBO FORMS
Bullet-Proof user data entry. Unlimited charac¬
ter & field level data verification. Create & edit
forms for data entry & display without recom¬
piling source code. Flexible formatting with
graphics, windows, colors & display attributes.
IBM PC & compatibles. One of PC Magazines
“14 HOT TURBO UTILITIES: $39.95 including
S&H. MC/VISAor C.O.D.
GREAT LAKES SOFTWARE SYSTEMS, INC.
2510 Capital Ave. SW Suite 203
Battle Creek, Ml 49015
(616)962-2017
END YOUR FRUSTRATIONS —
MASTER
YOUR
SCREENS
WITH
Developing, testing & changing
screens is tedious, frustrating,
time-consuming work.
Until now.
With FORMIX, you can trouble¬
shoot before writing one line of
code. You can even prototype
the entire system with actual
screens — complete with data
entry. Little changes in screen
design are little effort. So are
major changes.
Our advance panel-oriented
system allows you to quickly
develop complex screens that
integrate several panels or
windows.
Plus, FORMIX has an on-line
help system. You just write the
application help text. FORMIX
handles the rest.
In short, FORMIX simplifies screen
design and slashes the cost
of program development. Let
FORMIX handle the tedious,
error-prone programming aspects
while you concentrate on solving
today’s application problems —
and eliminating a lot of tomorrow’s.
And there’s more. Contact us for
details. We’re ready to prove the
power, flexibility & simplicity of
FORMIX.
An Expression of Quality
Master Computer Systems, Inc.
FORMIX Division
9531 West 78 Street
Eden Prairie, Minnesota 55344
612/944-5220
ATTENTION
TURBO PROGRAMMERS!
Use Turbo-Xtra to:
• Break the 64K barrier
• Compile Pascal Code Separately
(Never recompile frequently used procedures
again!)
• Create memory resident libraries
• Fully integrated with TURBO environment
• Many libraries currently available
(Btreet, Windows, Statistics, Time and date rou¬
tines, Hi-Res Graphics, more!) Only $49.95 (VISA
+ MASTER CARD accepted)
SYSTEMS SERVICES INTERNATIONAL
RO. Box 2865
Huntington, WV 25728
(304)529-9425
BASIC + StruBAS
Developing serious applications in compiled
BASIC? It’s easier with StruBAS v2.0 tools com¬
plementing QuickBASIC and IBM BASIC 2.0 with
extended structured code, screens, menus, na¬
tive ISAM, Btrieve interface, and subroutine ob¬
ject library. $495 single, $1495 network. VISA/
MC. Not copy protected.
Laney Systems Inc.
3 Office Park Dr., Suite 100
Little Rock, AR 72211
501-225-7755
PASCAL-to-C TRANSLATOR
Industrial strength conversion from Turbo, Mi¬
crosoft, UCSD, MT+, Apollo, Macintosh, and
other Pascals to K&R C. Handles nested proce¬
dures, intrinsic functions, separately compiled
units and modules, all data types including long
integers.
Requires 512K IBM PC/XT/AT. Send up to 500
lines of Pascal and we will convert it for FREE.
Site licensing from $5,000. Conversions 50
cents/line.
TGLInc.
27096 Forest Springs Ln.
Corvallis, OR 97330
(503)745-7476
ATTENTION TURBO PASCAL USERS!
Crash the 64K Barrier
Try TURBO PACKAGE now!
90 day money back guarantee!
Modular Programming!
Promotes REUSE of working CODE
CUTS development TIME
IMPROVES system RELIABILITY
SIMPLIFIES program MAINTENANCE
FILL 640KB with code/data any way you want
VERY FEW CODE CHANGES.
FASTER than chaining or overlaying
SUPERMATH, FREE!
With purchase of Turbo Package
40 plus LONG (32-blt math) routines
Faster than real - big enough for $.
ASM coding insures top performance
Just $49.95
Visa/MC
(in TX add tax)
(no shipping chg)
Write or call for more information
CONVERSATIONAL COMPUTER SYSTEMS
sZ 5371 Verbena Rd.
/fT San Antonio, TX 78240
_ V§) Phone: (512) 692-0353
APL Programmers!
Interface C and APL*PLUS with APL2C™! Speed
up your APL code. Link to C libraries. Includes K
& R C compiler. $195 Complete. FULLSCREEN
Panels™ is here! Screen Generator and full¬
screen processor for the APL environment. Pop-
ups, panels, menus, scrolling fields NO ROY¬
ALTIES, $150.
Lauer Software
PO Box 728
Newtown, PA 18940-0728
(609)921-6249
True Shell for BASIC
SHELL any other program or batch file, includ¬
ing other compiled BASIC programs and the
BASIC interpreter. Requires DOS 2+ and IBM (Ver
1 or 2) or Microsoft compiler (QB1, QB2 or 5.36).
QB2 requires DOS 3+. Only $29.95 + $3 s/h.
MC/VISA/COD OK. 30 day money-back perfor¬
mance guarantee.
MicroHelp, Inc.
2220 Carlyle Drive
Marietta, GA 30062
800-922-3383. In GA 404-973-9272
CIRCLE 381 ON READER SERVICE CARD
Quelo (
680,00
Software
Development
Tools
Quelo Assembler Packages are
Motorola compatible. Each
package includes a macro as¬
sembler, linker/locator, object li¬
brarian, utilities for producing
ROMable code, extensive in¬
dexed typeset manuals and pro¬
duces S-records, Intel hex,
extended TEK hex, UNIX COFF
and symbol cross references.
Portable source written in “C” is
available. It has been ported to a
variety of mainframes and minis
including VAX.
68020 Assembler Package
For CP/M-86,-68K and MS/PC-DOS . $ 750
68000/68010 Assembler Package
For CP/M-80,-86,-68K and MS/PC-DOS . $ 595
68000 “C” Cross Compiler
For MS/PC-DOS by Lattice, Inc.
With Quelo 68000/68010 Assembler
Package.$1095
With Quelo 68020 Assembler Package . $1250
Call Patrick Adams today:
Quelo, Inc.
2464 33rd W. Suite #173
Seattle, WA USA 98199
Phone 206/285-2528
Telex 910-333-8171
COD, Visa, MasterCard
Trademarks: CP/M, Digital Research: MS,
Microsoft Corporation; Quelo, Quelo, Inc.
CIRCLE 382 ON READER SERVICE CARD
SOFTWARE/PROGRAMMERS TOOLS—PUBLIC DOMAIN
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
Programmers Tools
ROMable CODE on PC!
PCLOCATE allows PC users to develop ROM-
based software from MS-DOS “Exe" files. The
user specifies the physical location of all seg¬
ments. Output files are compatible with most
PROM programmers. PCLOCATE supports the
8086,8088,80186,80188, and 80286 proces¬
sors. MC/VISA.
ALDIA SYSTEMS INCORPORATED
P.0. Box 37634
Phoenix, AZ 85069
(602)866-1786
Fortran Addenda ’86
Libraries for graphics and friendly/interactive
programs. ASMUTIL2: Total PC control; printers
(3), CRTs (2), disks, FULL keyboard, strings,
high-speed gets/puts, line/box, fills tile paint¬
ing, CGA/EGA/Hercules graphics. BUTILE 2: In¬
put wordprocessing/editing, non-overflowing
formats, window management... 100 easy to
program, “smart” routines + defaults/toggles.
170 pg. manual & annotated samples. $95 alone;
both $165. Specify compiler and version.
* IMPULSE
ENGINEERING
PC CROSS-ASSEMBLERS
Up to 10,000 lines per minute! Fast X-ref and
Linker plus Macros and Librarian. Generates
HEX, TEKHEK, S-records, and .OBJ output rec¬
ords. Over 40 micros and XENIX, MS DOS, CPM
80 and ISIS versions. Accepts MOTOROLA and
INTEL directives and Mnemonics.
RELMS™
P.0. Box 6719
San Jose,CA 95150
(408)265-5411
PRODUCTIVITY TOOLS
SRMS™ Software Revision Management Sys¬
tem stores all versions of source code in a single
library. Allows retrieval of any version of source
and application of changes while recording when,
why, and where changes were made with no du¬
plication of common code. DOS pathname, di¬
rectory, and environment variable support,
typeset manual, much more.
New version (2.0).$125.00.
QMAKE™ is an intelligent system builder pat¬
terned after the UNIX make utility. Only compiles
those routines that have changed since last built.
Support for macros, multiple entry points, com¬
mand line parameters. Integrates fully with
SRMS™.$99.00.
MS/PC-DOS 2.0 (MN plus 6%) MC/VISA
QUILT™ COMPUTING
7048 Stratford Rd.
Woodbury, Minnesota 55125
(612)739-4650
IMPULSE Engineering, B.R. Strong, Jr.
PO. Box 3540
San Francisco, CA 94119-3540
(415)788-4611
MS-COBOL SCREEN/DATA DIV.
MSCREEN generates Screen Section code for
MICROSOFT/IBM COBOL. Paint/Edit screens.
No other editor needed. Select from complete set
of attributes for each field. No field terminators.
Many other features! $55. COBWORK generates
Data Division code for MICROSOFT/IBM/RE-
ALIA COBOL. $35.
TAJEVA SOFTWARE
6064 Belle Grove Cove S.
Memphis, TN 38115
(901)365-4692
SCREEN MANAGER
SAVE TIME! Powerful Screen
Designer and Memory Resident
Screen Manager Increases Pro¬
grammer Productivity! Interfaces
to most languages. BASIC,
FORTRAN, COBOL, C, PASCAL,
PLM86, ASM. Not a Code Genera¬
tor! No Royalties.
*125
VISA/MC
The West Chester Group
P.O. Box 1304
West Chester, Pa 19380
(215) 644-4206
FREE DEMO DISK
CIRCLE 383 ON READER SERVICE CARD
L A
LINK &
LINK & LOCATE
enables PC users
to produce ROM-
based firmware for 8086/87/186 from object files
generated by popular C compilers, such as from
Wizard, Microsoft and Lattice, and MASM assembler
from Microsoft. Provides full control of segment
placement anywhere in memory. Supports output of
Intel HEX file for PROM programmers, Intel OMF
absolute object file for symbolic debuggers and
in-circuit emulators. Includes Intel compatible linker,
locator, librarian and hex formatters. $350.
Systems & Software, Inc.
3303 Harbor Blvd., Cl 1, Costa Mesa, CA 92626
Phone (714) 241-8650 FAX (714) 241-0377 TWX 910-695-0125
CIRCLE 384 ON READER SERVICE CARD
turboMAGIC
The slickest code generator available for
TurboPascal programmers. Input forms. Report
forms. Help windows. Pop-up menus. Pull-down
menu systems. And more! Order your MAGIC
today for only $99. 30-day full money back
guarantee. Requires IBM PC compatible with
256K RAM.
Sophisticated Software Inc.
6586 Old Shell Road
Mobile, AL 36608
(800) 225-3165 or (205) 342-7026
FIRMWARE PRODUCTION ON PC
LINK&L0CATE enables PC users to produce
ROM-based firmware for 8086/87/186 from ob¬
ject files generated by C, PL/M compilers &
MASM. Provides full control of segments place¬
ment anywhere in memory. Supports output of
INTEL hex file for PROM programmer, absolute
object file for symbolic debugger & ICE, and MS-
DOS EXE file. Includes an INTEL compatible
linker, locator, librarian and hex formatters. $350.
3303 Harbor Blvd., C11
Costa Mesa, CA 92626
(714)241-8650
BASIC Base 007
BASIC database library including menues,
passwords, program generator, query, screen
control, data record control, index commands for
add, delete, find, find next, find last. $15 demo
with disk manual and compiled database soft¬
ware. $99 development system with library
source code and printed manual. $165 for com¬
piled & all 4,000 + lines of BASIC code.
Application Micro Computers, Inc.
1663 Bachan Ct.
Reston, Va. 22090
(703)471-1471 -3:00 to 9:00 PM.
PRE-PROCESSOR
Add custom features to any language: longer
identifiers, opcode, register and operator syn¬
onyms, nested macros, etc. C Source Code in¬
cluded. Not copy protected. OK to share. $19.95
-u s/h. MC/VISA.
SUPERTECH
11410 NE124 St., #6143
Kirkland, WA 98034-4399
(206)488-9253
BOOSTERS V2.0 IS HERE!
Tools for Turbo Pascal programmers who need
the speed and efficiency of online code. 70+
string, video, and DOS routines—incl. Exec. V2.0
also incl. powerful new SCREEN GENERATOR,
DOS SHELL, and many example programs. All
Pascal and assembler source, manual, update
notices. No Royalties. $40 + 4% GA tx. Visa/MC.
GEORGE F. SMITH & COMPANY
609 Candlewick Lane
Lilburn, GA 30247, (404) 923-6879
Public Domain
TURBO PASCAL ” SOFTWARE $6
Write or call for information about:
• Systems & applications development tools
• Programs for home and business
• Communication tools & applications
• Games in specialized applications
• Scientific/engineering programs & routines
• Graphics including animation tools
TURBO S.I.X.
P.O. Box 8373
Waco, TX 76714
(817)753-2182
NEW PUBLIC DOMAIN LISTING
13,000 MS DOS PROGRAMS with brief de¬
scriptions, 52 pages, $4. Also available on disks
for $10 including search program. This months
special set 5 disks $2 including p+h. 90 pro¬
grams including Mandelbrot Set Images, Cal¬
Tech utilities, advanced Lotus tutorial, artificial
art, Freecalc V2, Genealogy V4. Send your card
+ $4 to or call: The Public Domain Software Co.
THE PUBLIC DOMAIN SOFTWARE COPYING
COMPANY
33 Gold Street
NYC, NY 10038
800-221-7372 • NY 212-732-2565
TURBO PASCAL $2/disk
TSS is a BBS-by-mail, no modem needed (long
distance is more $$$ than mails)! 60+ disks of
Pascal files. Most incl. source code. All files
compressed. Membership fee ($25) incl. free
starter pkg. and 2 FREE disks with 1st order. Non¬
members $7/disk. Cat. list $5. VISA/MC/CGD
(s/h extra) (data) 617-545-9131
TURBO SOURCE SEARCH
P.O. BOX 876
SCITUATE, MA 02066
(voice) 617-545-6677
| COMPUTING^ LIMITEd[
MASCOT network diagram
Canada K7L1C7
ingstc ,
(613) 548-4355
Real-Time Multitasking
Kernel for the IBM PC
• Supports MASCOT modular real-time design
methodology
• Extensive built-in debugging facilities
• Shared memory for intertask communication
• Synchronization and mutual exclusion
• Modular design and implementation approach
allows unit and sub-network testing
• Can use DOS DEBUG with application
• Can access all PC-DOS facilities
• C language interface (specify compiler)
• Device drivers may be written in C
• No royalties
• $795 includes software, manual, support,
updates
CIRCLE 385 ON READER SERVICE CARD
SOFTWARE/SCIENTIFIC—UTILITIES
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARKET
Scientific
Security Devices
SCI/ENG GRAPHICS
OMNIPLOT [S] (screen graphics) & OMNIPLOT
[P] (plotter driver) provide integrated engineer¬
ing/scientific 2-D & 3-D graphics with NO PRO¬
GRAMMING! Menu-driven, flexible, professional.
Choice of formats: tabular/line, contour, bar, pie,
3-D wire frame & much more! OMNIPLOT [S]
$195. Add OMNIPLOT [P], both $295.
MICROCOMPATIBLES, INC.
301 Prelude Dr. Dept. J
Silver Spring, MD 20901
(301)593-0683
TECHWRITER SCIENTIFIC
Complete word processing system that easily
blends Greek, mathematical symbols, and
chemical structures with standard text. Power¬
ful, yet easy-to-use, TechWriter features over¬
sized scientific characters, headers, footers, and
automatic footing, index, and table of contents
generation.
CMI SOFTWARE
1395 Main Street
Waltham, MA 02154
(617)899-7244
8087 FFT/VECTOR PROCESSING
The VECTOR87 library is written in assembler,
includes 60 routines to speed up your number¬
crunching programs. Uses 80(2) 87 extensively.
PC IK real FFT takes only 1.2 sec. Versions for
Fortran (MS, RM, Lahey), C (MS, Lattice), Turbo
Pascal -87. $150 per version with source, no
royalties. Write for technical information.
VECTORPLEX Data Systems Ltd.
136-100 Maitland Place N.E.
Calgary, Alberta, Canada T2A 5V5
(403)248-1250
SMART COPY PROTECTION
Attention Software Developers, are you tired of
Copy Protection that:
-is NOT transparent to the user.
-does not allow backups.
-requires I/O plugs or special media.
-doesn’t support hard or cartridge disks,
-makes you pay for every disk protected,
-requires source code changes.
-can be beaten by hardware copy boards.
If so, EVERLOCK can solve these problems for
only $495. Free info & demo disk available.
Az-Tech Software, Inc.
426 Grandview
Richmond, MO 64085
(816)776-8153
SECURE AT/XT/PC
Control system access, data access! FiXT/S.
Control system boot for most popular XT/PC hard
disk controllers. Feature for AT-and-XT-com-
patible HD controllers segments hard disk by
volumes, controls access with passwords, sup¬
ports hard disk expansion. $80 $120+$3 shpg.
plus CA tax.
Golden Bow Systems
2870 Fifth Ave. Suite 201
San Diego, CA 92103
(619)298-9349
Statistics
DATA ACQUISITION & ANALYSIS
‘MEASURE for data acquisition directly to Lo¬
tus 1-2-3*FOURIER PROSPECTIVE II advanced
signal digital analysis ‘Lotus Manuscript &
technical document preparation system*PRIME
FACTOR FFT subroutine library. Call Turbo Pas¬
cal, C, Fortran, Basic. Up to 65,520 data-points.
2D available*Turbo Pascal from Borland
‘TELEVISION for Image Communications
‘8087 Coprocessors, all varieties*Dash-16A/D
converter board from MetraByte.
ALLIGATOR TECHNOLOGIES, INC. P.0. Box 11386
Costa Mesa, CA 92627 (714) 662-0660
STATISTICS FORECASTING
TWG/ARIMA—a univariate Box-Jenkins fore¬
casting package, designed for statisticians.
EASI/ARIMA—same as above, for the non¬
statistician.
ELF—The Statistical Package—a general pur¬
pose statistical package. Call or write for more
information. $150. EACH.
THEWINCHENDON GROUP, INC.
PO. Box 10339
Alexandria, VA 22310
(703)960-2587
NUMERICAL C SOFTWARE
Computationally stable numerical routines for
scientific C software developers. LINLIB con¬
tains all the basic vector and matrix routines so¬
lutions to equations, LU, QR, Cholesky factors of
matrices, least squares solutions. LINLIB has
splines, B-spline routines, spline interpolation,
spline approximation of data. $150.
INFORMATION AND GRAPHIC SYSTEMS
15 Normandy Court
Atlanta, GA 30324
Call (404) 231-9582
STATISTIX™—ONLY $75!
STATISTIX is a powerful and very easy-to-use
interactive statistical system for micros. Used by
many major universities, businesses, state gov¬
ernments and research organizations. Please
check us out before you buy a statistics pro¬
gram; you’ll agree SX is a “best buy"! SATIS¬
FACTION GUARANTEED-For more info:
NH ANALYTICAL SOFTWARE
801 West Iowa Avenue
St. Paul, MN 55117
(612)488-4436
RATS! VERSION 2.0
RATS, the best selling Econometric software
package now includes daily & weekly data, a new,
easier to use 500-page manual, & many ad¬
vanced features. Use RATS for time-series &
cross-section regression, including OLS,
ARIMA, VAR, logit, & probit. IBM PC or compati¬
ble. $200. VC/Visa. Call for brochure.
VAR Econometrics, Inc.
P.O. Box 1818
Evanston, IL 60204-1818
1(800)822-8038
P-STAT®
Full mainframe package for IBM PC/XT/AT &
compatibles. Combines data & file manage¬
ment, data display, statistical analysis, report¬
writing & survey analysis in a single package.
4GL programming language, online HELP, menu
or command driven with interactive EDITOR. $95
demo and Site License available.
P-STAT Inc.
471 Wall Street, P.O. Box AH
Princeton, N.J. 08542
Telephone: 609-924-9100
Telex: 466452
Pick & Choose for Your PC
BMDP Statistical Software offers 40 programs
for data analysis. But you can choose any com¬
bination to suit your needs. From simple statis¬
tics and plots, to t-tests, ANOVA, ANCOVA,
stepwise regression, time series, frequency ta¬
bles, survival analysis and more! Call for your
free catalog. Hard disk req’d.
STATISTICAL SOFTWARE
BMDP Statistical Software, Inc.
1440 Sepulveda Blvd.
Los Angeles, CA 90025
(213)479-7799
Taxes
Where Does the Time Go?
TUSKER knows! TIME & USAGE KEEPER logs
and reports your computer time; meets and ex¬
ceeds IRS requirements for proving tax
deduction.
‘Define your own business uses
*6 reports in any date range for any printer
‘Log non-computer time too!
DOS 2.0+. $88. Free brochure. $4 demo disk.
Craig Banning
Route 3, Box 317
Big Pine Key, FL 33043
(305)872-3817
Terminal Emulation
BARR/HASP INTELLIGENT RJE
WORKSTATION
Hardware and software communications pack¬
age for IBM PC, XT and AT. Simultaneously
transmits data to host and receives output di¬
rectly to MVS/JES2, MVS/JES3, VS/RSCS, and
CDC/NOS, bypassing TSO and CMS. Emulates
IBM 3777-2 and HASP on IBM 360/20. Line
speed: 1,200 to 19,200 baud (56,000 bps on AT).
Supports multiple high-speed printers beyond
2,400 Ipm. (6,000 Ipm on AT). Features:
concurrent DOS, LAN support, printer forms
control, plotter support, unattended operation,
easy installation. $1,290 includes Hardware
& Software.
EMRR
BARR SYSTEMS, INC.
2830 NW 41 st Street, Building M
Gainesville, FL 32606
(800)-BARR-SYS/(904) 371-3050
Utilities
AT/XT/PC HARD DISK EXPANSION
“Replace hard disk with a bigger one, or add a
second drive! Vfeature BREAKS THE 33 MBYTE
BARRIER on standard AT, XT, and compatible
hard disk controllers. Includes multiple vol¬
umes, security features, selectable clusters,
keyboard lock. $80-$120 + $3 shipping + CA
Tax”
Golden Bow Systems
2870 Fifth Avenue, Suite 201
San Diego, CA 92103
(619)298-9349
DOCUMENTATION MANAGER
Create and maintain manuals - procedure man¬
uals, program documentation / system user
manuals, etc. * Edit files with the excellent Nor¬
ton Editor (included) * Save User Defined con¬
figuration * Save screen dumps to files * Variety
of Print Options *
$69.95 complete MasterCard/Visa
Benix
PHENIX HOSPITAL SYSTEMS
1616 Palm Avenue
Deland, FL 32724
(904)736-1132
SOFTWARE/UTILITIES
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS MARK ET
Utilities
SAVE THAT SCREEN!
Do you immediately reach for the PrtSc key to
save screen info? What a waste of time and pa¬
per! Now, SCREENSNAP™ lets you save and re¬
call up to 9 screens at the touch of a key. Friendly
with other resident programs but unlike some it
is compact; will run in as little as 5K. Also in¬
cludes useful utilities to save and recall from files,
programmer’s interface and sample code. Build
your own help screens with your text editor, then
save and recall them with SCREENSNAP $39.
Programming ARTS
P.0. Box 219
Milltown, NJ 08850
Call 800-443-4160; NJ (201) 846-7242
FILE PRINT MANAGER
GLISTER™
★ Use DOS wildcards to build a list of up to 100
files to print
★ Save/restore file lists
★ Restart a file on any page after a printer jam
★ Print multiple copies
★ Control: margins, line/page length, spacing,
user-formatted header/footer lines and more
★ Prints files as fast as printer is capable $49
Programming ARTS
P.0. Box 219
Milltown, NJ 08850
Call 800-443-4160; NJ (201) 846-7242
VCACHE GETS YOUR DISK
MOVING!
Hard disk accelerator increases speed of car¬
tridge and fixed disk operations using memory
caching to eliminate repetitive disk access. Al¬
locate up to 15Mb of extended or expanded
memory, or ,5Mb of standard memory for cach¬
ing disk data. Includes diskette and screen ac¬
celerator modules. Automatic and transparent
after installation. $65+ $3 shpg, CA tax.
GOLDEN BOW SYSTEMS
2870 Fifth Avenue, Suite 201
San Diego, CA 92103
(619)298-9349
LIMSIM
Expanded Memory Simulator for the PC/AT and
compatible 286 machines. Use the extended
memory you already have as Lotus style Ex¬
panded Memory. Fully supports EMS version 3.2.
Requires 70k of conventional memory. $50 ($75
with assembler source) plus $5 s/h. 30 day
money back guarantee.
Larson Computing
1556 Halford Ave. #142
Santa Clara, CA 95051
(408)737-0627
XT/AT HARD DISK DIAGNOSTICS!
Disk Manager Diagnostics performs extensive
tests on your ST412/506 hard disks. Areas tested
are: Controller, data write/read, seek test, auto¬
matic error correction(ECC), random reads and
media defects. Interactive help. Excellent error
detection and isolation. $49.95 + ship. VISA/MC
accepted.
QNTRflCK
s COMPUTER SYSTEMS INC.
Ontrack Computer Systems, Inc.
6222 Bury Drive
Eden Prairie, MN 55344
(612)937-1107
TallScreen—DOS POWER
Natural extension of DOS. Scroll back through
screen output, edit text on full screen, mark blocks
to printer or file, recall commands & directories,
enter multiple commands, capture screens from
application programs, create user profiles. Solid
tech support. PC MAG & PC WORLD calls
TallScreens a Real bargain at $49.95. VISA/MC
Qualitas, Inc.
8314 Thoreau Drive
QUALITAS
Bethesda, MD 20817
(301)469-8848
AT’s DON’T NEED 360KB DRIVES
The 1.2MB drive has long been known to READ but NOT reliably
WRITE on 360KB floppies. With “CPYAT2PC” 1.2MB drives CAN
reliably WRITE 360KB floppies saving a slot for a second hard
disk or backup tape. “CPYAT2PC” (Not Copy Protected) offers
the preferable SOFTWARE SOLUTION.
• NO software or hardware modification
• A 360K drive is NOT required
• “CPYAT2PC” program MAY reside on hard disk
• Runs on IBM PC/AT and COMPATIBLES
i.e. Compaq Deskpro 286/386, AT&T 6300 + ,
HP Vectra, Sperry PC/IT, Tandy 3000
Only $79.00 + $4.00 S/H VISA, MC, COD, UPS-B/R
ORDER TOLL FREE 1-800-621-0851 XT777
TELEX EZLINK 62873089
Dealer Inquiries Invited
MICROBRIDGE COMPUTERS 9^
655 Skyway #125
San Carlos, CA
CA 415-593-8777
NY 212-334-1858
CIRCLE 386 ON READER SERVICE CARD
CHARACTER CUSTOMIZATION
CHARGENI 3.0 works with the IBM/EGA to let
you modify the character set, allowing many
wordprocessors to display technical material,
equations or other special characters. Requires
DOS 2 x or 3.x, IBM Standard or Enhanced
Graphics Adapter. $35+ $2 s/h (MN add 6%).
DK Micro Consultants
RO. Box 6714
Minneapolis, MN 55406
(612)722-0931
THE NEWMAN UTILITIES
50 utils includes help system below and disk +
system utilities $19.95
EZRUN menu. Run 1-36 programs $19.95
CACHER. speedup disk access 10X $19.95
HELP system for DOS 3.1 + add your own $9.95
All $45, $2 demo, 15 day MB guar., $2 Ship
NEWMAN COMPUTER
2 Briar Mills Drive Suite 2-A
Bricktown, NJ 08724
(201)458-5169
uaid Analyzer
the tool
that created
CopyWrite
Now you can debug your own programs
with a professional quality debugger -
the one that unraveled every form of
copy-protection used on the PC.
With the Quaid Analyzer, you can:
□ See occurences of any interupt, with its
meaning shown on the screen.
□ View memory as text or instructions,
scrolling as easily as you do with an editor.
□ Run until a memory location or I/O port is
changed.
□ Protect your hard disk from accidental
destruction.
□ Analyze software without the source, even
when it uses countermeasures to thwart
tracing.
□ See all stages of the boot load.
We kept the Quaid Analyzer off the
market to avoid helping publishers with
copy-protection. Now that copy¬
protection is gone, we can sell it to
you.
The Quaid Analyzer is a software tool occupying 100K bytes. It
runs on any IBM PC and most MS-DOS systems without hard¬
ware modification.
g| Quaid Software Limited
$99 U.S.
All orders shipped at
our expense within a
day. All major credit
cards accepted.
can (416) 961-8243
or write to:
45 Charles St. East
Third Floor, Dept. 602
Toronto, Ontario. M4Y 1S2
Ask about Disk Explorer the program that takes over
where Quaid Analyzer leaves off.
CIRCLE 387 ON READER SERVICE CARD
SOFTWARE/UTILITIES—MISCELLANEOUS/PUBLICATIONS
...
■H
TECH MARKETPLACE
THE COMPREHENSIVE GUIDE TO PRODUCTS AND SERVICES FOR THE MS DOS
Utilities
DISK ACCELERATOR V2.0
DiskCache speeds up your hard disk access. Disk
caching and ram disk in one package. Ram disk
shares cache space. Transparent, flexible, con¬
figurable, no h/w changes. RAM, EMS, and AT
extended memory versions incl. Not copy pro¬
tected. VISA, MC, volume discounts. No PO’s
w/o prior approval. $49.00
Datamorphics Ltd.,
P.0. Box 820
Stittsville, Ontario, Canada KOA 3G0
Or call (613) 836-2670
DISK UPGRADE BIOS for ATs
DUB-14 overides AT Drives Table to allow any
compatible drive to be attached and fully used
on the standard AT controller. Two ROMs plug
into empty sockets on system board. Includes
complete Set-Up routine and low-level format
facility. Works with UNIX, XENIX, other OS and
networks. $95 + $3 shpg. CA tax.
" <3
GOLDEN BOW SYSTEMS
2870 Fifth Avenue, Suite 201
San Diego, CA 92103
(619)298-9349
HARD DISK EXPANSION!
Disk Manager allows the installation of any
ST506 hard disk on PC,XT,AT and compatibles.
Volumes up to 256mb! Menu driven/auto in¬
stall, compatible w/ all vers of MS/PC DOS (does
not modify DOS), up to 16 volumes, easy to use!
$125+ ship. Ask about Novell product! Dealer
inquiries invited.
QNTRRCK
a COMPUTER SYSTEMS INC.
Ontrack Computer Systems, Inc.
6222 Bury Drive
Eden Prairie, MN 55344
(612)937-1107
Miscellaneous
Bar Coding
^■■■■■■■
BAR CODE READERS
• IBM PC/XT, AT, AT&T 6300/7300 etc. key¬
board models or RS-232 interface
• NO programming. Reads dot matrix
• Auto-recognition and single code decoding
• Reads Code 39. UPC A/E Codabar & 12 of 5
• Units in stock, 2 year warranty great margins.
MAKE YOUR PC
SEEM LIKE AN AT!
MAKE YOUR AT
SEEM LIKE A
DREAM MACHINE!
fANSI-
CONSOLE
The Integrated Console Utility™
FAST, POWERFUL
ANSI.SYS REPLACEMENT
For the IBM-PC, AT, and clones
New Version 2.00 is MUCH FASTER
Now blink free scrolling on CGA!
Now use EMS for scroll recall!
New option menu program!
•Speed up your screen writing
•Extend your ANSI.SYS to full VT100
•Scroll lines back onto screen
•Save scrolled lines into a file
•Add zip to your cursor keys
•Free your eyes from scroll blinking
•Easy installation
•Get 43 line EGA support
•Over 50 useful options
“The psychological difference is
astonishing” -LotusJune85pg8.
“So many handy functions rolled into
one unobtrusive package”
PC-World Feb 86 pg 282.
“The support provided by the
publishers is extraordinary.”
-Capital PC Monitor May 86 pg 25
“...the best choice for improving your
console...”
-Capital PC Monitor June 86 pg 282.
460p Manual (w/slip case)
and software diskettes $75.
Satisfaction Guaranteed!
Order Yours Today!
HERSEY MICRO CONSULTING
Box 8276, Ann Arbor, Ml 48107
(313) 994-3259 Visa/MC/Amex
DEALER INQUIRIES INVITED
CIRCLE3880N READERSERVICECARD
CIRCLE 389 ON READER SERVICE CARD
Tech Marketplace ... the
comprehensive guide to
products and services for the
MS DOS market.
2190 W. 11th
Eugene, OR 97402
(503)344-1189
$99 BAR CODE READERS
We need Distributors & OEMs worldwide. Our
readers are IBM PC/XT/AT & Tandy 1000/2000
keyboard compatible, convertible to RS232 In¬
terface, have auto code distinction, need no ad¬
ditional software and are availabe from
assembled board to fully packaged units. From
US $99 plus wand in modest OEM quantities.
ASP MICROCOMPUTERS
P.0. BOX 259, CAULFIELD EAST 3145
VICTORIA, AUSTRALIA
PHONE 011 61 3 5000628 (note time difference)
To place your ad
in Tech
Marketplace call
212-503-5115.
Publications
Advanced TurboPascal Book
“Turbo Pascal—Advanced Applications” a new
book for serious programmers. Written by the TP
experts, it covers topics such as optimization
techniques, interrupts, system level tools,
graphics, and more. In-depth and thorough.
$16.95; or with MS DOS disk $29.95. Add $1.50
shipping (US & Canada). Free info.
Rockland Publishing
190 Sullivan Crossroad, Suite 107
Columbia Falls, MT 59912
(406)257-9119
AN INVITATION TO STEAL
Bad copyright—or none at all? Your software may
be public domain. Protect your work before you
show it. Learn how to copyright software inex¬
pensively and effectively. Software Copyright
Guide. $6 ppd.
Innovation Press
Dept. 112
Box 351
Highland, IL 62249
Compress your data
into 1/10"’ the space!
Introducing ARC. It’s used to create and main¬
tain data file archives for computers operating
under any DOS system.
But it does something that other archive
and library utilities can’t. It automatically
squeezes the files being saved so they ^
take up less space. Like a can of con- j|
centrated orange juice. H ||§&
From 20% to 90% less, depending on
the kind of data being saved! /**%
So there’s more room to store data, ( |||||l|i
no matter what media it’s stored on! And \—J
that’s like giving a shot of vitamin C to ABIE*
your savings on equipment and supplies.
This compressed data can be trans- H
mitted over telephone lines in a lot less
time than it takes to transmit uncom- ^ jlMB
pressed data. So you can beat the high WmBm Bp npHHBB
cost of phone bills to a pulp, as well. ^mmr -
ARC has a full range of functions for archive
creation and maintenance Including password
encryption to protect data from unauthorized use.
Typi cal Compre ssion Rates_
S Program! I ASCII ^“"^Ispread-
files I _ ftext I _ f Sheets
20% to ^^^J50%to I O |50% to ■
30%. j ^ 160%. ^™j™J 90 ° o
® A 0 I
System Enhancement Associates • 21 New Street, Wayne, NJ 07470 • (201)473-5153
INDEX TO ADVERTISERS
PC TECH JOURNAL FEBRUARY 1987
READER
SERVICE NUMBER ADVERTISER PAGE
116 Advanced Logic Research.Cover 3
* Aldebaran.24
141 Alsys. 86
214 Answer Software.21
136 Arity Corporation.139
206 Array Technologies, Inc..78
122 Arrix. 149
* AST Research, Inc.48 & 49
203 Atron.8
249 Atron. 18
105 Barrington Systems.54
* BC Associates.201
102 Blaise Computing.113
* Borland Int’l.Gatefold Cover
2 54 Borland Int’l.1
124 Bourbaki.141
* Business Engrg. Systems.200
* Business Opportunity
Publishers.178 & 192
147 Code Blue.12 & 13
212 Coefficient Systems.88
114 ComCal.35
144 Computer Innovations.6 & 7
* Creative Programming Consultants... 15 3
145 Cresent Software.186
161 Crosspoint Systems.103
167 Crosstalk Communications.... Back Cover
261 Custom Software Systems.190
* C-Ware. 191
217 CXI.. 163
110 Digiboard.194
123 Digi Data. 181
178 Dynatech.29
<r!31 Ecosoft.110
190 ESP Software.152
* Evsan Co.,.202
119 FairCom.102
117 Farbware.191
* Flagstaff Engineering.114
READER
SERVICE NUMBER ADVERTISER PAGE
* Gimpel Software.149
113 Haven Tree Software Limited.134
* Hawaiian Village...200
149 IBEX Computer Corp.191
218 IBM Corp.104 & 105
* Information Technologies.198
135 Innovation Computer.142
108 Innovative Data Tech.170
216 Intel Corp..30 & 31
209 Interactive Microware.191
226 Korros......143
148 Kurtzberg Computer Systems.174
128 Lahey Computer Systems, Inc.189
160 Lattice, Inc.133
163 Lifeboat Assoc.25
173 Lifeboat Assoc.144
229 LOGITECH Inc...20
* Lotus Development...123
125 Lugaru.112
180 Magus, Inc. Ill
263 Mansfield Software.118
133 MEF Environmental.186
259 Meta Ware Inc.60
211 Micro Data Base Systems.58
257 MicroHelp, Inc.162
* Microsoft Corp.23
121 Microsoft Corp..46 & 47
* MicroTech.22
155 MicroWay.131
* MicroWay. 203
154 Migent.98
186 MITS. 184
174 Mortice Kern.121
224 Nantucket Corp.132
191 Norcom. .s.154
109 Novell.165
222 Opt-Tech Data Processing.4
185 Overland Data, Inc.185
* PC Brand..90-93
159 PC Designs.197
215 Periscope Company.5
146 PharLap.177
153 Plotworks.154
164 Polytron.182
* Precision Data Products.202
252 Pro/Am..140
175 Programmer’s Connection.41-43
143 Programmer’s Paradise.199
220 Programmer’s Shop. 44
162 Programmer’s Shop.26 & 27
183 Proteus.196
READER
SERVICE NUMBER ADVERTISER PAGE
223 Quadram.117
239 Quantum Software.115
166 Raima Corp.11
157 Rainbow Technology..194
* Ram Explosion.202
192 Realia.146
137 Ryan-McFarland. 145
* Scantel Systems Ltd.202
187 Scientific Endeavors.186
170 Seattle Telecom.172
201 SoftCraft Inc.2
196 Software Link.12 0
120 Software Merchants.64
189 Software Security.84
130 Solution Systems.16
129 Solution Systems.148
177 Stargate Technologies.186
244 Stoneybrook Software.116
176 Storage Dimensions.155
195 Summit Software.14 & 15
118 Sundog.155
158 Sunny Hill Software.156
184 Sunny Tech Inc.196
231 Systems & Software.188
194 Tall Tree Systems.37
197 Tall Tree Systems.39
182 TeleVideo.... 138
246 Tiara Computer Systems, Inc.160
198 True Basic.82
193 TurboPower Software.28
156 Unify Corp.56
169 Upper Bound Micro Computer.147
115 Vermont Creative Software. .19
127 VF Associates.194
204 Video 7. 74
150 W alonick Associates.157
243 Weltec Digital..189
214
PC TECH JOURNAL
INDEX TO PRODUCTS
PC TECH JOURNAL FEBRUARY 1987
RS# PRODUCT ADVERTISER PAGE
IBM AND COMPATIBLE PC’S
116 The PC2/286 Advanced Logic Research ....Cover 3
226 Industrial AT Korros Data Systems .141
159 GV 386 PC Designs, Inc.197
183 Compatible Proteus Technology Corp.196
182 TeleCat 386 TeleVideo .138
127 VF PC VF Associates .194
MULTIFUNCTION/MEMORY CARDS
216 Above Board PS Intel Corporation .,.30 & 31
155 Number Smasher Microway .131
170 PC 386 Seattle Telecom & Data .172
197 RT Boards Tall Tree Systems .39
GRAPHICS CARDS
206 EGA Wonder Array Technologies, Inc.78
204 Vega Deluxe Video 7 .74
MASS STORAGE HARDWARE
123 9 Track Tape Digi Data .181
178 Turn-On Dynatech Systems Inc.29
* 9 Track Tape Flagstaff Engineering .114
149 Magtape Subsystem Ibex Computer Systems .191
185 9 Track Tape Sub System Overland Data, Inc.185
231 Perstor 200 Systems and Software .188
169 The Eagle Series Upper Bound Micro Computer .. 147
243 Mass Storage Product Weltec Digital Inc.189
PRINTERS-PLOTTERS
194 J Laser Plus Tall Tree Systems .;.37
DATA ACQUISITION
209 Catalogue Interactive Microware .191
RS# PRODUCT ADVERTISER PAGE
PROGRAMMER’S TOOLS
* Tree Diagrammer/Source Print
214 ICD 286
249 Miniprobe
203 PC Probe
* Mail Order
* DeSmet
144 C86
* Vitamin C
145 QuickPak
261 PCAT
119 R-Tree/C-Tree
113 Flowchart
148 C Tree Query
160 Programming Tools
125 Epsilon
211 MDBS III
* C Cross Compiler
257 Basic Programmer
191 Screen IO
222 Opt-Tech Sort
153 Plott 88
252 Dis-N-Data
192 Real C/CS
137 Fortran
201 Btrieve
244 The Watcher
158 Turbo Professional/Taskview
193 Turbo Pascal Utilities
115 Windows for C
Aldebaran .
Answer Software .
Atron ..
Atron ...
BC Associates ...
C-Ware ...
Computer Innovations .
Creative Programming Consult.
Crescent Software .
Custom Software Services .
FairCom .
HavenTree Software ..
Kurtzberg Computer Systems .
Lattice, Inc.
Lugaru Software .
Micro Data Base Systems .
Micro Tech Research ..
MicroHelp, Inc.
Norcom .
Opt-Tech Data Processing .
Plotworks, Inc.
Pro-Am Software ...
Realia, Inc.
Ryan-McFarland ..
Softcraft .
Stoneybrook Software .
Sunnyhill Software .
Tubro Power Software ..
Vermont Creative .
.24
. 21
.18
. 8
....201
....191
6 & 7
• 153
....186
...190
....102
....134
....174
....133
....112
.58
.22
....162
...154
.4
...154
...140
...146
....145
.2
....116
....156
.28
.19
SOFTWARE UTILITIES
102 Turbo Power Tools Plus
254 Sidekick, Superkey, Turbo
Lightning
114 Bookmark
190 Command Plus
180 Data Windows
215 Periscope
146 80386 Tools
157 Software Sentinal
176 Speedstar
Blaise Computing .113
Borland Inti.Gatefold & 1
Corneal .35
ESP Software .152
Magus, Incorporated .Ill
Periscope Company, The .5
Phar Lap Software, Inc.177
Rainbow Technologies, Inc.194
Storage Dimensions .155
MICRO-MINI MAINFRAME COMMUNICATIONS
254
Prolog & Pascal
Borland Inti.Gatefold Cover & 1
217
PCOa 5250 Products
CXI .
.163
189
The Block
Software Security .
.84
LOCAL AREA NETWORKS
*
AT Multifunction Family
AST Research .
48 & 49
161
Crosspoint 8
Crosspoint Systems .
.103
108
LEO
Innovative Data Technology
.170
186
LANbasic, LANdbase, LANscreen MITS .
.184
246
Tiara Link
Tiara Computer Systems Inc.
.160
OTHER COMMUNICATION
HARDWARE
212
V-Term
Coefficient Systems .
.88
110
Digiboard Com/XI
Digiboard, Inc.
.194
109
SFT Netware
Novell, Inc.
.165
223
“The 386”
Quadram, Inc.
.117
177
Stargate OC8000
Stargate Technologies .
.186
OTHER COMMUNICATION
SOFTWARE
147
Mail Order
Code Blue .
12 & 13
167
Crosstalk
Crosstalk
Communications ...Back Cover
196
Multi Link Advanced
Software Link .
.120
SCIENTIFIC/ENGINEERING SOFTWARE
150
Statpac Gold
Walonick Associates .
.157
LANGUAGES
141
ADA Compiler
Alsys, Inc.
.86
136
Prolog Compiler
Arity, Inc.
.139
105
Clarion
Barrington Systems, Inc. ...
.54
131
ECO-C88-Microstat
Ecosort Inc.
.110
117
Modula-2
Farbware .
.191
*
C-Terp
Gimpel Software .
.149
135
Marshal Pascal
Innovation Computers .
.142
128
F77L Lahey Fortran
Lahey Computer Systems .
.189
173
163
Programming Tools
Lifeboat Associates .
Lifeboat Associates .
.144
.25
229
Modula 2
Logitech .
.20
263
Personal Rexx
Mansfield Software .
.118
259
Professional Pascal-High
Metaware .
.60
*
Language Newsletter
Microsoft Corporation .
.23
121
Quickbasic
Microsoft Corporation .
...46 & 47
154
Enrich
Migent Software Inc.
.98
130
Brief
Solution Systems .
195
Better Basic
Summit Software .
... 14 & 15
198
True Basic
True Basic .
.82
EXPERT SYSTEMS/AI SOFTWARE
129 ZAP Solution Systems .148
GRAPHIC SOFTWARE
187 Graph C Scientific Endeavors Corp.186
DATA BASE MANAGEMENT SOFTWARE
254 Reflex Borland Inti.Gatefold & 1
* HAL Lotus Development Corp.123
224 Clipper Nantucket Corporation .132
166 DBvista Raima Corporation .11
120 Simple Software Merchants Unltd.64
156 Unity Unity Corporation .56
OPERATING SYSTEMS
174 MKS Tool Kit Mortice Kern Systems, Inc.121
239 QNX Quantum Software Systems .115
PUBLICATIONS
Business Publication Business Opportunity
OTHER SERVICES
133 No Limit/IOPRO MEF Environmental, Inc.186
118 Squish Sundog Software .155
OTHER SUPPLIES
164 PolyV Polytron Corp. ..182
MAIL ORDER
* Mail Order Business Engineering Systems .200
* Mail Order Evsan Company .202
Mail Order Hawaiian Village Computer .200
* Mail Order ITS-Info. Tech. Svcs.198
* 8087 Boards Microway .203
* Mail Order Precision Data Products .202
143 Util., Edit., Function, Graphics Programmer’s Paradise .199
220 Mail Order Programmer’s Shop .44
175 Mailorder Programmer’s Connection ..41&43
* Mail Order The Ram Explosion .202
* Mail Order Scantel Systems Ltd .202
184 Mailorder Sunny Tech, Inc.196
FEBRUARY 1987
215
CALENDAR
FEBRUARY
February 2-6
Third International
Conference on Data
Engineering
Los Angeles, CA
Sponsor: IEEE-CS
Contact: IEEE-CS, 1730
Massachusetts Avenue NW,
Washington, DC 20036-
1903; 202/371-0101
February 10-12
Systems Design and Inte¬
gration Conference
San Francisco, CA
Sponsors: IEEE and ERA
(Electronic Representatives
Association)
Contact: Deanna Myerson,
Electronic Conventions Man¬
agement, 8100 Airport Blvd.,
Los Angeles, CA 90045;
800/421-6816; in California,
• 800 / 262-4208
February 10-13
Designing Modem Soft¬
ware/User Interfaces
Anaheim, CA
Sponsor: Integrated Com¬
puter Systems
Contact: Yolande Amundson,
Manager Education Services,
5800 Hannum Avenue, P.O.
Box 3614, Culver City, CA
90231; 800/421-8166; in
Canada, 800/267-7014
February 12-13
Implementing DB2
Chicago, IL
Sponsor: Digital Consulting
Associates, Inc.
Contact: Seminar Services
Department, 8 Windsor
Street, Andover, MA 01810;
617/470-3880
February 17-19
Computer Science
Conference ’87
St. Louis, MO
Sponsor: ACM
Contact: Arlan DeKock, Con¬
ference Chairman, University
of Missouri-Rolla, Rolla, MO
65401; 314/341-4491
February 22-28
Third Artificial Intel¬
ligence Applications
Conference
Kissimee, FL
Sponsor: IEEE-CS
Contact: Jan Aiken, Aion
Corporation, 101 University,
Fourth Floor, Palo Alto, CA
94301; 415/328-9595
February 23-24
Micro-mainframe Links
Boston, MA
Sponsor: Digital Consulting
Associates, Inc.
Contact: Seminar Services
Department, 8 Windsor
Street, Andover, MA 01810;
617/470-3880
February 26-27
IBM’s DBMS and 4GL:
Strategies and Implemen¬
tation Alternatives
Toronto, Ontario, Canada
Sponsor: Digital Consulting
Associates, Inc.
Contact: Seminar Services
Department, 8 Windsor
Street, Andover, MA 01810;
617/470-3880
MARCH
March 15-20
GUIDE 67
Anaheim, CA
Sponsor: GUIDE
Contact: Bill Reinberger,
GUIDE International Corpo¬
ration, 111 E. Wacker Drive,
Chicago, IL 60601;
312/644-6610
March 17-19
Reliability in Distributed
Software and Database
Systems
Williamsburg, VA
Sponsor: IEEE-CS
Contact: Edwin C. Foudriat,
NASA, Langley Research
Center, Information Systems
Division, MS 469, Hampton,
VA 23665; 804/865-3535
March 22-26
Computer Graphics ’87
Philadelphia, PA
Sponsor: National Computer
Graphics Association
Contact: NCGA, 2722 Merri-
lee Drive, Suite 200, Fairfax,
VA 22031; 800/225-6422; in
Virginia, 703/698-9600
March 23-27
Theory and Practice of
Software Development
Pisa, Italy
Sponsor: Universite di Pisa
Contact: Pierpaolo Degano,
Dipartimento di Informatica,
Universite di Pisa, Corso Ita¬
lia, 401-56100 Pisa, Italy
March 30-April 2
Ninth International
Conference on Software
Engineering
Monterey, CA
Sponsors: ACM SIGSOFT
and IEEE-CS
Contact: William E. Riddle,
Software Design and Analy¬
sis, 1760 Bear Mountain
Drive, Boulder, CO 80303;
303/499-4782
March 31-April 3
ANSYS 1987 Conference
Newport Beach, CA
Sponsor: Swanson Analysis
Systems, Inc.
Contact: Swanson Analysis
Systems, Inc., Johnson Road,
P.O. Box 65, Houston, PA
15342-0065; 412/746-3304
March 31-April 3
PC-based Tools for Soft¬
ware Analysis and Design
Boston, MA
Sponsor: Integrated Com¬
puter Systems
Contact: Yolande Amundson,
5800 Hannum Avenue, P.O.
Box 3614, Culver City, CA
90231; 800/421-8166; in
Canada, 800/267-7014
CALLS FOR PAPERS
Deadline: February 1
Symposium on Proto¬
col Specification, Test¬
ing, and Verification
Zurich, Switzerland
(May 5-8, 1987)
Sponsor: IFIP WG
Submit papers to: H.
Rudin and C. H. West,
IFIP Protocol Symposium,
IBM Zurich, 8803 Ruschli-
kon, Switzerland
Deadline: February 16
Operating Systems
Principles
Austin, TX
(November 9-11, 1987)
Sponsor: ACM
Submit papers to: Alfred
Spector, Department of
Computer Sciences, Car-
negie-Mellon University,
Pittsburgh, PA 15213
216
PC TECH JOURNAL
ILLUSTRATION • DAVID POVILAITIS
Use these reader service cards to get
FREE 1 N F 0 R M A T i O N
about the products and services
in this issue of TECH JOURNAL
Learning more about a product that’s advertised or mentioned in an article
in this month’s issue is as simple as 1-2-3. And absolutely free.
1 Print or type your name
and address on
the attached card.
Use only one card per person.
h
2 Circle the numbers on the card that
correspond to the numbers at the bot¬
tom of the advertisements or articles
for which you want more information.
(Key numbers for advertised products also appear in
the Advertisers’ index.)
Simply mail the card,
and the literature
will be mailed to you free
of charge by the manufacturer.
Are you personally involved in
the selection of microcomputers
and related products for:
I Your company or
organization?
a D Yes b D No
2 Your client companies or
organizations?
C D Yes *>□ No
3 Are you planning to purchase
in the next 6 months:
E D PC Hardware?
f D PC Software?
g D PC Peripherals?
101
116
131
146
161
176
191
206
221
236
251
266
281
296
311
326
341
356
371
386
102
117
132
147
162
177
192
207
222
237
252
267
282
297
312
327
342
357
372
387
103
118
133
148
163
178
193
208
223
238
253
268
283
298
313
328
343
358
373
388
104
119
134
149
164
179
194
209
224
239
254
269
284
299
314
329
344
359
374
389
105
120
135
150
165
180
195
210
225
240
255
270
285
300
315
330
345
360
375
390
106
121
136
151
166
181
196
211
226
241
256
271
286
301
316
331
346
361
376
391
107
122
137
152
167
182
197
212
227
242
257
272
287
302
317
332
347
362
377
392
108
123
138
153
168
183
198
213
228
243
258
273
288
303
318
333
348
363
378
393
109
124
139
154
169
184
199
214
229
244
259
274
289
•304
319
334
349
364
379
394
110
125
140
155
170
185
200
215
230
245
260
275
290
305
320
335
350
365
380
395
111
126
141
156
171
186
201
216
231
246
261
276
291
306
321
336
351
366
381
396
112
127
142
157
172
187
202
217
232
247
262
277
292
307
322
337
352
367
382
397
113
128
143
158
173
188
203
218
233
248
263
278
293
308
323
338
353
368
383
398
114
129
144
159
174
189
204
219
234
249
264
279
294
309
324
339
354
369
384
399
115
130
145
160
175
190
205
220
235
250
265
280
295
310
325
340
355
370
385
400
Please print clearly—Use only one card per person.
Name_Phone (_
Title__
Void after May 31,1987
Company.
Address_
Apt.
-Zip-
City____State_
(Zip code must be included to insure delivery.)
□ Please send me 1 year (13 issues) of PC Tech Journal for $26.70 and bill me.
I’ll save 50% off the cover price. TJ2872
Are you personally involved in
the selection of microcomputers
and related products for:
I Your company or
organization?
a D Yes No
2 Your client companies or
organizations?
C D Yes No
3 Are you planning to purchase
in the next 6 months:
e D PC Hardware?
F D PC Software?
g D PC Peripherals?
101 116
102 117
103 118
104 119
105 120
106 121
107 122
108 123
109 124
110 125
111 126
112 127
113 128
114 129
115 130
131 146
132 147
133 148
134 149
135 150
136 151
137 152
138 153
139 154
140 155
141 156
142 157
143 158
144 159
145 160
161 176
162 177
163 178
164 179
165 180
166 181
167 182
168 183
169 184
170 185
171 186
172 187
173 188
174 189
175 190
191 206
192 207
193 208
194 209
195 210
196 211
197 212
198 213
199 214
200 215
201 216
202 217
203 218
204 219
205 220
221 236 251
222 237 252
223 238 253
224 239 254
225 240 255
226 241 256
227 242 257
228 243 258
229 244 259
230 245 260
231 246 261
232 247 262
233 248 263
234 249 264
235 250 265
266 281 296
267 282 297
268 283 298
269 284 299
270 285 300
271 286 301
272 287 302
273 288 303
274 289 304
275 290 305
276 291 306
277 292 307
278 293 308
279 294 309
280 295 310
311 326
312 327
313 328
314 329
315 330
316 331
317 332
318 333
319 334
320 335
321 336
322 337
323 338
324 339
325 340
341 356
342 357
343 358
344 359
345 360
346 361
347 362
348 363
349 364
350 365
351 366
352 367
353 368
354 369
355 370
371 386
372 387
373 388
374 389
375 390
376 391
377 392
378 393
379 394
380 395
381 396
382 397
383 398
384 399
385 400
Please print clearly—Use only one card per person.
Name
Void after May 31,1987
Title Phone ( )
Comoanv
Address
Apt.
City State
r
Zip
(Zip code must be included to insure delivery.)
□ Please send me 1 year (13 issues) of PC Tech Journal for $26.70 and bill me.
I’ll save 50% off the cover price.
I
FREE
INFORMATION
Follow the instructions
on the reverse side of
this card to
receive advertisers’
product information.
FREE.
SUBSCRIBE
NOW!
Now’s an ideal time to
consider having us start
you as a PC Tech Journal
subscriber.
13 issues cost you only
$26.70...a savings of
50% off the cover price.
Special PC Tech Journal
Directory published in
November included with
your subscription! Just
check the box at the
bottom of the reply card.
BUSINESS REPLY MAIL
FIRST CLASS PERMIT NO. 27346 PHILADELPHIA, PA
Postage will be paid by addressee
For - IBM computer e x"p 'e'Vt s
OURNAL
I P.O.Box40086
Philadelphia, PA 19106-9931
~l
NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
1
J
NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
BUSINESS REPLY MAIL
FIRST CLASS PERMIT NO, 27346 PHILADELPHIA, PA
Postage will be paid by addressee
OURNAL
PO. Box 40086
Philadelphia, PA 19106-9931
i
PERFORMANCE
Is Here To
NETWORK 386™ IS NOW AVAILABLE
WITH NOVELL NETWORK 286™
AND ALR/LAN™ (ARCNET
COMPATIBLE) CARDS
Advanced Logic Research, Inc.
10 Chryslei; Irvine, California 92718 - (714) 581-6770
FAX: (714) 581-9240-
TELEX: 5106014525,
Answer back Advanced Logic
In Canada contact ALR (416) 229-6477
Machines
Advanced Logic Research, Inc, the first com¬
puter company to introduce the 80386 system.
Advanced Logic Research again is the first
company to include a special edition of
DESQV1EW® software to take advantage of the
80386 virtual mode.
Access 386 Multitasking Windows
This DESQVIEW software can control nine (9)
simultaneous MS-DOS® applications running
concurrently plus QEMM, a Lotus®/Intel® /
Microsoft® (LIM) expanded memory specifica¬
tion compatible. The QEMM breaks the 640K
memory barrier to 8 megabytes of high speed
memory. This creates bigger spread sheets, sorts
larger databases and powers through your most
complex progr ams at pulse quickening speed!
Access 386 more
than triples your
^ processing
capacities
80386
80286
5.5
8088
1.0
18.5
ACCESS 386 more than triples your processing
capacities. A 32 bit interleave memory data path
eliminates through put slowdowns by doubling
the flow capacities of 80286 16 bit systems.
TM
80386 includes
Special Edition
Virtual Mode
Advanced Logic Research offers a complete
family of 8088, 80286 and the NEW 80386
based microcomputers in a variety of configura¬
tions. Please contact your nearest authorized
ALR dealer for brochures on the enhanced IBM
compatible microcomputer manufactured by
Advanced Logic Research.
This memory through put, plus the speed of a
16 MHz 80386 CPU will streak through industry
standard software faster than anything else!
ACCESS 386
MODEL - ACCESS 386-40
• 80386-16 32 bit processor
• 16MHz CPU Speed
• Phoenix BIOS
• 1Mb RAM Expandable to 10.5 megabyte
• 1.2 MB floppy
• 42 Mb/28 MS hard disk drive
• Serial port, parallel port
• 80287-10 or 80387 support
• 8 system expansion slots
• QEMM - Expanded Memory (LIM) software
• DESQVIEW™ - Special Edition
MODEL - ACCESS 386-80
As above with 80 Mb/28 MS hard disk drive
in place of 42 Mb/28 MS drive.
ACCESS 386 is a Trademark of Advanced Logic Research. DESQ is a registered Trademark of Quarterback Office Systems. MS-DOS is a registered Trademark of Microsoft Corporation. Novell and
NetWare are registered Trademarks of Novell. Inc.
CIRCLE NO. 116 ON READER SERVICE CARD
No matter where you take
CROSSTALK Mk.4
♦ ♦ ♦
You won’t encounter a PC communications program with as much versatility as
CROSSTALK®Mk. 4, It has everything we could imagine you needing today. More
protocols — X.PC, Xmodem, Kermit, and our own CROSSTALK. More terminal
emulations, including complete IBM 3101, DEC VT-IOO, andTeleVideo 900
series Concurrent communications capability — up to 15 sessions, each
displayed in its own expandable window, or on separate' 'pages. ’ ’ Error
checking at high speeds. Prepared script files to extract information from
I I most popular information utilities. A powerful programming language
\ to create customized scripts. Finally, we’ve built-in a bit of tomorrow.
\ CROSSTALK Mk. 4 is based on a modular architecture that means we
\ can add new capabilities by phone, as they come along. So you ’re
getting more than today ’s standard in communications software.
1 A You’re getting tomorrow’s as well.
||fl /-^n^-vCCTA I Communications Associates, Inc.
1 V^-tx V»/\\l /\Ll\ 1000 Holcomb Woods Parkway
\ | COMMUNICATIONS Roswell. Georgia 30076